我在Web解決方案中有多個項目,這些項目是OWIN啓動和Global.asax啓動的混合。 OWIN啓動項目沒有global.asax,反之亦然。今天,我試圖通過將startup.cs添加到所有Global.asax啓動項目並刪除Global.asax來標準化解決方案。但是,我的新項目中沒有一個實際啓動。OWIN Starup.cs不會觸發
我曾嘗試:
1)運行安裝,包裝Microsoft.Owin.Host.SystemWeb中的NuGet
2)添加以下配置鍵的web.config:
<add key="owin:appStartup" value="namespace.Startup, assembly" />
<add key="owin:AutomaticAppStartup " value="true" />
3)刪除臨時ASP.NET文件(%temp%和C:\ Windows \ Microsoft.NET \ Framework \ v4.0.30319中的文件)
4)確保該類名稱爲Startup
5)刪除Startup類並通過選擇Add - > New Item - > OWIN Startup Class重新添加官方方式。
在我的調試環境中,這發生在IISExpress中,我沒有在生產環境中嘗試過。
我無法區分具有工作啓動類和不啓動類的項目。唯一的主要區別似乎是工作項目的net45和net46被列爲Owin和Microsoft.web.Infrastructure包的目標框架,但我認爲這不會有什麼不同。此外,該工作項目還安裝了SignalR,其他則沒有。
這些項目都是從一個帶有Web API(沒有MVC)的Empty web項目開始的,但我不記得是否指定了哪些是OWIN啓動。
萬一它可以幫助任何人,這裏也有一些建議:https://stackoverflow.com/q/20203982/943746 –