gpt4 book ai didi

asp.net-mvc - 在 ASP.NET MVC3 中使用 Ninject.Wcf。从 NinjectWcfApplication 派生禁用应用程序

转载 作者:行者123 更新时间:2023-12-02 02:17:54 27 4
gpt4 key购买 nike

我在我的 ASP.NET MVC3 应用程序中使用支持 AJAX 的 Web 服务,我想向其中注入(inject)一些类。所以我安装了 NInject.Wcf,将工厂设置为 Ninject.Extensions.Wcf.NinjectServiceHostFactory 下一步是从 NinjectWcfApplication 派生应用程序类(Global.asax 中的 MVCApplication) ,但是当我这样做时,IIS 停止运行我的应用程序,它尝试使用 StaticFile 模块而不是将请求路由到 Controller 。

如何解决这个问题或如何以其他方式使用 WCF 实现 NInject?

最佳答案

我终于弄明白了,路由没有正确设置的原因是因为 ASP.NET MVC 应用程序的默认 Global.asax 模板,默认情况下它定义了

void Application_Start() { ... }

并且由于 HttpApplication 没有定义此方法,IIS 在启动时调用此方法。因此,当从 NinjectWcfApplication 派生时, 定义了 Application_Start 方法,我们需要将默认方法更改为:

protected override void Application_Start(object sender, EventArgs e)
{
.....
base.Application_Start(sender, e);
}

如果我们不这样做,IIS 将调用 NinjectWcfApplication.Application_Start 而不是我们的 Application_Start 方法。

关于asp.net-mvc - 在 ASP.NET MVC3 中使用 Ninject.Wcf。从 NinjectWcfApplication 派生禁用应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9634317/

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