gpt4 book ai didi

c# - asp.net MVC 4 Ninject OnApplicationStarted()

转载 作者:行者123 更新时间:2023-11-30 20:48:01 24 4
gpt4 key购买 nike

你好,我通过使用本教程制作简单的博客来学习 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。这会向 App_Start 添加一个名为 NinjectWebCommon.cs 的文件,您可以使用该文件自定义绑定(bind)。无需更改 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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com