【发布时间】:2015-12-08 00:16:32
【问题描述】:
我创建了一个新的 MVC3 项目,按 F5,看到了示例页面。
然后我使用 NuGet 获取Ninject.MVC extension。我根据 Ninject 文档修改了我的 global.asax,How To Setup an MVC3 Application:
public class MvcApplication : NinjectHttpApplication
{
public static void RegisterGlobalFilters(GlobalFilterCollection filters)
{
filters.Add(new HandleErrorAttribute());
}
public static void RegisterRoutes(RouteCollection routes)
{
routes.IgnoreRoute("{resource}.axd/{*pathInfo}");
routes.MapRoute(
"Default", // Route name
"{controller}/{action}/{id}", // URL with parameters
new { controller = "Home", action = "Index",
id = UrlParameter.Optional });
}
protected override IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Load(Assembly.GetExecutingAssembly());
return kernel;
}
protected override void OnApplicationStarted()
{
base.OnApplicationStarted();
AreaRegistration.RegisterAllAreas();
RegisterGlobalFilters(GlobalFilters.Filters);
RegisterRoutes(RouteTable.Routes);
}
}
现在,当我运行该应用程序时,出现黄屏死机,但有以下异常:
InvalidOperationException - 序列不包含任何元素。
在 System.Linq.Enumerable.Single(...)
在 Ninject.Web.Mvc.Bootstrapper.Initialize(...) 第 67 行。
果然,line 67 of that file 调用了 .Single(),从而引发了异常。
我做错了什么?
【问题讨论】:
标签: asp.net-mvc-3 ninject