I have a ASP.NET MVC application and I'm using MEF to import my interfaces. The problem is that my IVotesRepository
interface is null when it's passed to the constructor.
Here is the code from my controller:
public class VotesController : BaseController
{
//
// GET: /Votes/
IVotesRepository VotesRepository;
IAccountRepository accountRepository;
public VotesController(IVotesRepository votesRepo, IAccountRepository accountRepo)
{
VotesRepository = votesRepo;
accountRepository = accountRepo;
}
And here is the interface and the repository itself:
public interface IVotesRepository
{
void SaveVotes(int TeamId, int GameId, int UserId);
bool CheckIfUserHaveVoted(int UserId, int GameId);
}
[Export(typeof(IVotesRepository))]
public class VotesRepository : IVotesRepository
{
...
}
Why is the IVotesRepository
instance null?
EDIT:
Stack trace:
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)