Tôi đã tạo một dự án MVC3 mới, nhấn F5, xem trang mẫu.
Sau đó, tôi sử dụng NuGet để lấy phần mở rộng Ninject.MVC . Tôi đã sửa đổi global.asax của mình theo tài liệu Ninject, Cách thiết lập ứng dụng MVC3 :
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);
}
}
Bây giờ khi tôi chạy ứng dụng, tôi nhận được màn hình màu vàng chết chóc với ngoại lệ sau:
InvalidOperationException - Chuỗi không chứa phần tử.
tại System.Linq.Enumerable.Single (...)
tại Ninject.Web.Mvc.Bootstrapper.Initialize (...) dòng 67.
Và chắc chắn, dòng 67 của tệp đó gọi .Single (), do đó sẽ loại bỏ ngoại lệ.
Tôi đang làm gì sai?