2015-12-27 128 views
7

在ASP .NET 5中,Configuration正在劇烈變化。我們不再有web.config文件。相反,我們可以使用JSON和其他選項,具體取決於我們在Startup課程中設置的方式。與web.config不同,這種配置通常不會進入wwwroot,並且客戶端無權訪問它。爲什麼我們需要在ASP .NET 5 wwwroot中使用web.config?

然而,在ASP .NET 5項目模板有一個web.config文件wwwroot具有以下內容:

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <system.webServer> 
    <handlers> 
     <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified"/> 
    </handlers> 
    <httpPlatform processPath="%DNX_PATH%" arguments="%DNX_ARGS%" stdoutLogEnabled="false" startupTimeLimit="3600"/> 
    </system.webServer> 
</configuration> 

在我看來,這可能是託管服務器正在尋找的東西運行時,獨立於應用程序配置。

任何人都可以闡明爲什麼這是必要的,它是如何工作的?

+0

這仍然需要嗎? –

+0

是的,如果您在IIS中託管ASP .NET Core,則仍然需要web.config,但配置文件的實際內容可能已更改。 – Gigi

+0

我的web.config文件不在wwwroot /文件夾中。我只是想知道是否需要具有AspNetCore IIS模塊的正常web.config和上面顯示的wwwroot中的模塊。 –

回答

14

Web.config嚴格用於IIS配置。除非在IIS中託管,否則不需要。從命令行運行應用程序時不會使用它。

在過去的Web.config被用於兩個IIS配置和應用的配置和設置。但在asp.net 5中,它根本不被應用程序使用,它只用於IIS配置。

從IIS應用程序的這種分離是什麼使得跨平臺的可能的一部分。

+1

請注意,從ASP.NET Core RTM開始,web.config文件(仍然只用於IIS)不再位於wwwroot文件夾中,而是位於wwwroot之外的應用程序根目錄中。 –

1

我想知道同樣的事情,我知道喬·奧德特已經回答了這個問題,但做了一些研究之後,我發現這篇文章,其他人可能會發現有用:http://shazwazza.com/post/aspnet-5-re-learning-a-few-things-part-1/

「如果你使用的是IIS,也還是可以的是一個web.config,可用於在system.webserver部分下配置IIS設置。「

相關問題