IIS 7.5 自动启动无法使用 Web Activator 与 Ninject 一起使用

Posted

技术标签:

【中文标题】IIS 7.5 自动启动无法使用 Web Activator 与 Ninject 一起使用【英文标题】:IIS 7.5 Auto Start Not working with Ninject using Web Activator 【发布时间】:2013-06-07 15:56:11 【问题描述】:

我已经为我的服务器配置了自动启动功能,如下所述:

http://msdn.microsoft.com/en-us/library/ee677260(v=azure.10).aspx

我没有使用自定义方法,因为我不需要做任何预热,

我只是将应用程序池设置为自动启动,并将 serviceAutoStartEnabled 设置为 true 的应用程序。

<add name="PluckBuildServer" managedRuntimeVersion="v4.0" startMode="AlwaysRunning">
<application path="/" applicationPool="PluckBuildServer" serviceAutoStartEnabled="true">

显然,这不足以启动 Ninject 用来启动的 WebActivator。关于如何完成这项工作的任何想法?另请注意,我确实需要能够使用 powershell 编写所有这些脚本。

这是我在 Ninject App_Start 类中的 WebActivator 行:

[assembly: WebActivator.PreApplicationStartMethod(typeof(Pluck.Build.Server.App_Start.NinjectWebCommon), "Start")]

非常感谢您的帮助。

【问题讨论】:

奇怪的是 WebActivator 没有运行。 AutoStart 只是确保应用程序启动。鉴于 Webactivator 只是运行一些东西,你确定你的应用程序正在正确启动吗? 【参考方案1】:

好的,我刚刚遇到了类似的问题。当我在本地 IIS (7.5) 上运行应用程序时,Ninject 没有注册,但是在 IIS Express 中,它运行良好。问题是我在 web.config 的编译节点中有 batch="false"。将批处理设置为 true(这是默认设置)解决了问题。

【讨论】:

类似地,optimizeCompilations 选项似乎也阻止了它的工作。将其设置回“false”为我解决了这个问题。

以上是关于IIS 7.5 自动启动无法使用 Web Activator 与 Ninject 一起使用的主要内容,如果未能解决你的问题,请参考以下文章

无法在 IIS 7.5 上运行 ASP.NET MVC 2 Web 应用程序

无法从另一个 7.5 连接到 IIS 7.5

ASP.Net / IIS 7.5 无法识别用于 OutputCache 的 jMeter

IIS 7.5绑定中文域名转码启动站点报“值不在预期的范围内”

IIS 7.5 上的 GZip 压缩不起作用

IIS 7.5、Web 服务和 HTTP 405 错误