2013-06-11 53 views
5

我有配置我的服務器自動啓動功能所概述這裏Ninject工作:IIS 7.5自動啓動不使用Web激活

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腳本所有這一切。

這是WebActivator行我有我的Ninject App_Start類:

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

你的幫助是極大的讚賞。

+0

WebActivator無法運行,這很奇怪。 AutoStart只是確保應用程序啓動。鑑於Webactivator只是運行的東西,你確定你的應用程序正在正確啓動? –

回答

6

好吧,我只是有一個類似的問題。當我在本地IIS(7.5)上運行應用程序時,Ninject沒有註冊,但在IIS Express中運行正常。問題是我在web.config的編譯節點中有batch =「false」。將batch設置爲true(這是默認值)解決了這個問題。

+1

同樣,optimizeCompilations選項似乎也可以防止這種情況發生。將它重新設置爲「false」爲我解決了這個問題。 – medkg15