У меня есть приложение ASP.NET MVC, и я использую MEF для импорта своих интерфейсов. Проблема в том, что мой интерфейс IVotesRepository
имеет значение null, когда он передается конструктору.
Вот код моего контроллера:
public class VotesController : BaseController
{
//
// GET: /Votes/
IVotesRepository VotesRepository;
IAccountRepository accountRepository;
public VotesController(IVotesRepository votesRepo, IAccountRepository accountRepo)
{
VotesRepository = votesRepo;
accountRepository = accountRepo;
}
А вот интерфейс и сам репозиторий:
public interface IVotesRepository
{
void SaveVotes(int TeamId, int GameId, int UserId);
bool CheckIfUserHaveVoted(int UserId, int GameId);
}
[Export(typeof(IVotesRepository))]
public class VotesRepository : IVotesRepository
{
...
}
Почему экземпляр IVotesRepository
имеет значение null?
РЕДАКТИРОВАТЬ:
Трассировки стека:
Object reference not set to an instance of an object at SocialSport.Controllers.VotesController.SaveVotes(Nullable`1 TeamId, Nullable`1 GameId) in C:\...\Visual Studio 2010\Projects\SocialSport\Implementation\Source\SocialSportWeb\Controllers\VotesController.cs:line 29
at lambda_method(Closure , ControllerBase , Object[] )
at System.Web.Mvc.ActionMethodDispatcher.Execute(ControllerBase controller, Object[] parameters)
at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters)
at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12()
at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation)
ImportingConstructorAttribute
в конструктор. См. здесь, как это сделать правильно. - person casperOne   schedule 02.12.2012[ImportConstructor]
и все равно не работает, самое смешное, что раньше он работал, и в других моих контроллерах у меня такой же код, но с другими интерфейсами и они работают, только этот тот, который не работает. - person Rene Durazo   schedule 02.12.2012