您好,我通过使用本教程制作简单的博客来学习asp.net的基础知识
http://www.prideparrot.com/blog/archive/2012/12/how_to_create_a_simple_blog_part1#story1-configure-ninject-mvc
当我想为MvcApplication.cs中的MVC项目配置Ninject时,出现错误“'System.Web.HttpApplication'不包含'OnApplicationStarted'的定义”。我在做什么错?有完整的代码:
using Ninject;
using Ninject.Web.Common;
using System.Web.Routing;
using System.Web.Mvc;
using JustBlog.Core;
namespace JustBlog
{
public class MvcApplication : NinjectHttpApplication
{
protected override IKernel CreateKernel()
{
var kernel = new StandardKernel();
kernel.Load(new RepositoryModule());
kernel.Bind<IBlogRepository>().To<BlogRepository>();
return kernel;
}
protected override void OnApplicationStarted()
{
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
base.OnApplicationStarted();
}
}
}
我在最后一行“ base.OnApplicationStarted();”中遇到问题。
最佳答案
不幸的是,关于Ninject的信息很多。...没有理由再使用NinjectHttpApplication方法了。
相反,只需安装NinjectMVCx,其中x是版本3、4或5。这会将一个名为NinjectWebCommon.cs的文件添加到App_Start中,可用于自定义绑定。无需更改您的HttpApplication或类似的东西。
您可以将此代码放在NinjectWebCommon.cs的RegisterServices中
kernel.Load(new RepositoryModule());
kernel.Bind<IBlogRepository>().To<BlogRepository>();
关于c# - asp.net MVC 4 Ninject OnApplicationStarted(),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25230835/