2011-03-23 51 views
0

我有一個域默認的頂級網站.Net 2應用程序。下面有很多不同的應用程序虛擬目錄。我無法獲得.Net 4虛擬目錄。我可以停止Asp.Net 4應用程序繼承Web.Config中的.Net 2父應用程序的configSections嗎?

我已閱讀:

.net 4.0 inheriting .net 3.5 web.config?

和我有類似的問題,因爲:Disable web.config inheritance?尚未解決 - 答案已經給出的是使用inheritInChildApplications這個問題,不能用繞過configSections標籤。

我設法阻止域的所有.Net 2子應用程序從繼承頂級 web.config設置,但對於.Net 4應用程序,我似乎無法。

<location path="." inheritInChildApplications="false"> 

纏繞在父的.Net 2應用的system.web節,並和予有

<clear/> 

在.NET 4虛擬目錄的應用程序的Web.config每部。

有沒有其他解決方案?也許父母的.Net 2應用程序可以放在虛擬目錄中,並且頂級站點請求可以是URL ReWritten,而不需要用戶的知識?

+0

我認爲使用URL重寫模塊IIS7中我可以將請求重新寫入域,並通過.Net應用程序將其服務器與子域中的所有其他應用程序共同託管在該域的子目錄中。這是在Asp.Net/IIS7中使用多個應用程序託管一個域的正常方式嗎? – Kenny 2011-03-23 16:10:40

+0

執行重定向的頂級.net 2應用程序仍然會有一個web.config,其中存在重寫規則。 :\這仍然會導致無關緊要的問題? – Kenny 2011-03-23 17:00:27

回答

1

不,你不能阻止它繼承,(InheritInChildApplications = False修復不包括足夠的頂級Web.Config來解決這個問題),但你可以刪除頂級的.Net 2應用程序和重定向請求。

使用URL重寫模塊將請求從本地頂級Web應用程序路由到IIS中Web站點下的虛擬目錄中的另一個「Web應用程序」,從頂級Web.Config中移除幾乎所有內容。

沒有頂級的.Net 2應用程序對於虛擬目錄中的.Net 4應用程序沒有任何意義可以繼承。

IIS安裝前:
網站 - .NET 2應用程序的 「根」
|
| - .NET 2應用程序 「一」
| - .NET 4的應用 「兩節」(不工作!)

IIS設置後:
網站 - 重寫請求.net 2虛擬目錄中的應用
|
| - .NET 2應用程序 「一」
| - .NET 4的應用 「兩節」
| - .NET 2應用程序的 「根」

相關問題