2016-04-21 65 views
0

我的任務是將我們10歲的asp.net web應用程序部署到由MS Azure託管的Web場環境中。我創建了兩個虛擬機,並將解決方案部署到兩個虛擬機。當我直接在每臺服務器上訪問該站點時,一切正常。我在Azure中創建了一個負載均衡器,並將這兩個虛擬機作爲後端池。該網站加載罰款,但只要用戶登錄並提交一個職位的時候,我們開始看到以下錯誤:Azure Web Farm - 無法找到程序集

Server Error in '/' Application.

Unable to find assembly 'App_Web_akoswspw, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Runtime.Serialization.SerializationException: Unable to find assembly 'App_Web_akoswspw, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'.

我開始爲我能夠拿到相信,因爲裝配不匹配其如果我將C:\ Windows \ Microsoft.NET \ Framework64 \ v4.0.30319 \ Temporary ASP.NET Files的內容從一臺機器複製到另一臺機器上,那麼該網站可能會運行一段時間。我們被困在網絡農場環境中的另一個客戶端的同一個應用程序中。有關如何解決此問題的任何想法或想法?

回答

0

您收到此錯誤消息的原因是某些對象被持久保存到ViewState,並且這些對象類型來自動態編譯的程序集。這些類型可以是諸如頁面,匿名類型等很多東西。 當頁面執行回發時,它可能在另一臺服務器上執行,並且此類服務器不知道此類型。

爲了避免出現此錯誤,只保留來自真實程序集的對象或使用始終爲特定用戶(粘性會話)使用同一服務器的負載平衡器。

相關問題