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 应用程序
ASP.Net / IIS 7.5 无法识别用于 OutputCache 的 jMeter