1

我剛剛在VS 2015中使用ASP.NET 5 MVC 6創建了另一個測試項目。上次我使用運行時的beta-7。但是,這次我使用RC1。爲RC1版本ASP.NET 5 RC1項目差異

project.json文件:·對於β-7版本

"commands": { 
    "web": "Microsoft.AspNet.Server.Kestrel" 
    } 

project.json文件:

"commands": { 
    "web": "Microsoft.AspNet.Hosting --config hosting.ini" 
    } 

紅隼是單平臺,我不知道爲什麼默認模板會設置這個,而不是IIS或IIS Express?有人可以解釋如何正確配置IIS上運行的Web應用程序(最好)和IIS Express?雖然RC1站點正在運行並顯示在IIS Express任務欄中,但爲什麼Kestrel配置項是?

有什麼步驟切換到完整的IIS和CoreCLR?

回答

1

ASP.NET 5附帶了3臺不同的服務器的支持:

Microsoft.AspNet.Server.IIS 
Microsoft.AspNet.Server.WebListener (WebListener) 
Microsoft.AspNet.Server.Kestrel (Kestrel) 

你可以配置你的應用程序被任何或所有這些服務器通過在project.json文件中指定命令來主持。

啓動服務器時,可以爲其提供一些配置選項。這可以使用命令行參數直接完成,或者可以指定包含設置的配置文件。 Microsoft.AspNet.Hosting命令支持供服務器使用的參數(如Kestrel或WebListener)以及server.urls配置項,該配置項應包含服務器應處理的URL前綴的分號分隔列表。

的project.json文件演示瞭如何通過直接server.urls參數:

"kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004" 

可替換地,配置文件可以被引用,而不是:

"kestrel": "Microsoft.AspNet.Hosting --config hosting.ini" 

然後,hosting.ini可以包括服務器將使用的設置(包括服務器參數):

server=Kestrel 
server.urls=http://localhost:5000 

參考和更詳細的信息在這裏: http://docs.asp.net/en/latest/fundamentals/servers.html

此外,配置()在新的啓動類方法允許指定哪一個處理器使用,你可以指定 app.UseIISPlatformHandler() 使用適當的參數使用IIS託管。

由於您可能在「運行」選項(位於Visual Studio頂部的工具欄中)中選擇了IIS或IIS Express,因此您的應用程序很可能在IIS(快速)託管下運行。如果您想使用Kestrel,請將其更改爲「web」,然後它將選擇在命令 - > web下的project.json配置中指定的內容。

+0

什麼是使用CoreCLR將服務器和運行時更改爲IIS的過程? – IrishChieftain

+0

Microsoft.AspNet.Server.IIS炸彈 - 瀏覽器只是繼續旋轉。 – IrishChieftain

+0

您是否嘗試在Startup.cs-> Configure()中添加調試點並確定它是否在那裏投訴? – Chrysalis