![](/img/trans.png)
[英]Can I Host .NET 2.0 Running Web Application with .NET 4.0 App Pool
[英]Child Application with 2.0 App Pool running under a Site with a 4.0 App Pool
我有一個使用ASP.Net 4.0構建的IIS站點應用程序,並以其自己的應用程序v4.0應用程序池運行。 此站點托管的是使用ASP.Net 2.0構建的子應用程序,具有其自己的應用程序池。
<site name="Intranet" id="1" serverAutoStart="true">
<application path="/" applicationPool="Site-Intranet">
<virtualDirectory path="/" physicalPath="D:\sites\intranet" />
</application>
<application path="/ChildApp" applicationPool="App-ChildApp">
<virtualDirectory path="/" physicalPath="D:\apps\childapp" />
</application>
</site>
我的第一個想法是2.0應用程序應使用v2.0應用程序池運行。 這樣做會導致服務器錯誤-無法訪問父站點的web.config編譯設置中的“ targetFramework”屬性。
我理解原因,並且找到了兩種解決方案/解決方法,但是我不完全理解每種解決方案/解決方案的含義。
1.將應用程序的應用程序池設置為v4.0
。
2.將應用程序的應用程序池保留為v2.0
,但更改父站點的web.config來破壞<compilation>
部分上的繼承:
<location path="." inheritInChildApplications="false">
<system.web>
<compilation targetFramework="4.0" debug="true" />
</system.web>
</location>
這些修復程序/解決方案實際上是怎么回事?
在方案1中,2.0應用程序是否由4.0 CLR編譯/運行? 假設是這樣,CLR是否嘗試將其作為2.0應用程序運行(即,向后兼容)? 還是只是假設它是4.0 Web應用程序(似乎很危險)?
在場景2中,我知道我們已經阻止子應用程序看到targetFramework
屬性,但是2.0 CLR是否真正在編譯/運行該應用程序? 如果是這樣,這是在ASP.Net 4.0站點下安全運行ASP.Net 2.0應用程序所需要的嗎?
我已經多次使用方案2,但從未遇到任何問題。 因此, 是的,這就是在ASP.Net 4.0站點下安全運行ASP.Net 2.0應用程序所需要的全部。
盡管沒有人能回答您的兩個應用程序肯定會以這種方式一起工作。 最好進行完整的系統測試,如果發現任何特定問題,則發布一個新問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.