gpt4 book ai didi

c# - 将 Ninject v2 与 Asp.net Webforms 集成时出现问题

转载 作者:太空狗 更新时间:2023-10-29 22:54:50 25 4
gpt4 key购买 nike

我正在尝试将 Ninject v2 与我的 asp.net webforms 项目集成。我正在运行 .NET Framework 4.0。

我的 global.asax 继承自 Ninject.Web.NinjectHttpApplication。我还添加了 CreateKernel 方法:

protected override IKernel CreateKernel()
{
IKernel kernel = new StandardKernel();
kernel.Bind<IUser>().To<User>();
return kernel;
}

我所有的页面都继承自 Ninject.Web.PageBase。我还在我的 web.config 中添加了以下 httpmodule 条目:

<add name="NinjectHttpModule" type="Ninject.Web.NinjectHttpModule, Ninject.Web">

但是,当我运行应用程序时,会触发 InvalidOperationException,并显示以下内容:

“ASP.login_aspx 类型请求注入(inject),但尚未为 Web 应用程序注册内核。请确保您的项目定义了 NinjectHttpApplication。”

我做错了什么?

亲切的问候

最佳答案

我在 ASP.NET 4.0 Webforms 应用程序中遇到了同样的错误。我通过使用带有代码的唯一“Global.asax”文件而不是后面的“Global.asax”+“Global.asax.cs”代码来解决这个问题。例如。您可以使用这个独立的“Global.asax”文件:

<%@ Application Language="C#" Inherits="Ninject.Web.NinjectHttpApplication" %>
<%@ Import Namespace="Ninject" %>

<script runat="server">
protected override IKernel CreateKernel() {
var kernel = new StandardKernel();
kernel.Bind<IUser>().To<User>();
return kernel;
}
</script>

此外,我从未在 web.config 中添加任何 httpmodules,它工作得很好!

关于c# - 将 Ninject v2 与 Asp.net Webforms 集成时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6080957/

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