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

标签 asp.net-mvc asp.net-mvc-3 iis ninject ninject-extensions

我在我的 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/

相关文章:

c# - ASP.NET MVC @helper 语法与 Html Helper 扩展方法

javascript - 使用 Ajax 动态添加局部 View

c# - Asp.Net MVC 5 - 长时间运行的任务 - 如何确保 IIS 回收 AppPool 时工作线程不会被丢弃?

asp.net-mvc - MVC 框架做了什么来避免它从大量使用反射中继承的低性能

ASP.NET 访问路径被拒绝,在 Web 服务器上

windows - Windows 上的 IIS 和 SSL - 推荐的内容。 PCT、SSL、TLS

sql-server-2008 - 重载下IIS SQL连接失败;临时重置 IIS 修复

javascript - asp.net MVC 中的 Jquery .ajax POST 函数错误返回

css - 我们可以在 Mvc3 中将 Model.item.value 作为 CSS 类传递吗?

asp.net-mvc-3 - MVC3 Razor 连接问题