我們的服務器正在運行Windows Server 2003.我們更新了IIS中的.Net版本的站點以使用4.0。在隨機時間內,每改變一次,每週1-2次,就會觸發快速失敗,並以503錯誤取消站點。503 - 服務器不可用 - .Net 2.0和4.0衝突
應用程序日誌顯示一系列啓動快速失敗觸發器的錯誤。有套每個,兩個錯誤的直到快速失敗10.觸發的錯誤是:
上午01點27分二十一秒
.NET運行4.0錯誤
的EventType clr20r3,P1 W3WP。 exe,P2 6.0.3790.3959,P3 45d6968e,P4 app_code.xqrjkjyl,P5 0.0.0.0,P6 51345a6b,P7 252,P8 0,P9 system.stackoverflowexception,P10 NIL。上午01時27分11秒
.NET運行
應用:w3wp.exe的
Framework版本:v4.0.30319
描述:過程終止由於堆棧溢出。
請注意,4.0錯誤出現在未命名的.Net錯誤後10秒。我相信未指定的.net版本錯誤是針對我們已經遷移的舊版2.0框架。
在IIS6中,處理程序設置爲使用4.0。我們在主站點下還有幾個應用程序池。 web.config文件中對所有這些指定4.0爲框架的使用方法:
<compilation debug="false" targetFramework="4.0">
<assemblies>
<add assembly="System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<add assembly="System.Security, Version=2.0.0.0, Culture=neutral, PublicKeyToken=B03F5F7F11D50A3A"/>
<!--<add assembly="System.Web.Routing, Version=3.5.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>-->
</assemblies>
爲什麼'System.Security'和'System.Design'的2.0版本的參考? – 2013-03-05 15:21:04
您是否瞭解導致堆棧溢出的原因 - 您是否能夠隔離導致問題和重構的代碼?我在想,也許一些資源限制已經從2變爲4,無論發生什麼事情都會達到較低的4.0限制。這是純粹的猜想,但可能值得看看導致問題的代碼並從那裏向後工作? – bUKaneer 2013-03-05 15:50:57
感謝您的回覆。我不確定爲什麼使用system.design和system.security的2.0版本。關於4.0的下限,唯一能想到的就是我們的文件上傳功能的maxrequest長度等項目,但這是在元數據庫中,我不認爲這與此有關。有沒有另一個地方的.net的細節配置? – superfreaker 2013-03-05 20:51:44