簡體   English   中英

使用根web.config代替站點web.config

[英]Root web.config used instead of site web.config

我在開發服務器上遇到了一個情況,我們所有的ASP.Net應用程序同時開始失敗。

經過調查,我們發現在1.1版應用程序中調用應用程序設置,在2.0版應用程序中調用連接字符串均失敗。 配置文件具有值,但是代碼返回null。

經過一番摸索和搜索后,我認為也許正在使用根web.config,而忽略了一個站點。 為了驗證這一理論,我將站點之一所需的應用程序設置添加到了根web.config中。 這使網站可以正常工作。

在證明已從根web.config中刪除設置並重置IIS之后。 但是現在所有站點都可以再次使用,即使是那些不依賴於我之前添加到根web.config中的設置的站點。

誰能解釋為什么會發生這種情況? 據我所知,觸摸根web.config會使一切再次正常運行,但是我不知道為什么或首先導致了問題。

編輯:這是在Windows Server 2003 SP2的IIS 6.0上

可能發生的情況取決於您運行的IIS版本。 根web.config始終在ASP.NET中讀取,但是僅當子目錄在IIS中定義為Web應用程序時,才讀取IIS子目錄中的web.config文件。 如果您在不是應用程序目錄的IIS子目錄中創建web.config,將不會讀取該目錄。

我從未見過您描述的情況,但是我可以想象,如果正在運行的IIS進程的狀態損壞並且無法識別應用程序目錄,則配置系統可能會丟失子目錄中的文件。

我認為這比在Server 2008或Windows 7上更有可能在IIS 5.x(例如Win2000或XP)上發生。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM