我正在寫一個web服務,並有以下觀察: 即使我只是將文本文件添加到存儲web服務所引用的所有dll的目錄(bin)中,appdomain也會刷新。AppDomain刷新/重新啓動
這會導致存儲在字典(在其中一個dll中)中的所有用戶會話都被刪除。
例如,如果上面的字典包含在一個dll中,比如說,sessiondict.dll,我正在替換另一個與sessiondict.dll沒有任何依賴關係的dll,那麼爲什麼這些數據會丟失?
我錯過了什麼?
編輯:
雖然我在的AppDomain重新閱讀更多,然而,尚未能弄清楚,爲什麼設計是這樣的,即使添加一個文本文件中的bin文件夾會導致appdomain重新啓動。
在應用程序啓動時使用靜態'AppDomain.CreateDomain()'方法在單獨的AppDomain中加載會話dll:http://msdn.microsoft.com/en-us/library/47e8e141.aspx和此博客post:http://www.west-wind.com/weblog/posts/2009/Jan/19/Assembly-Loading-across-AppDomains – VS1
我特別想知道爲什麼會出現這種行爲。微軟不應該注意只編譯那些已經改變的依賴關係。爲什麼上傳bin文件夾中的文本文件應該會導致appdomain刷新/重新啓動? – Cik
這篇文章應該可以幫助你理解它的一些內容:http://www.techrepublic。com/blog/programming-and-development/add-stability-to-your-aspnet-applications-with-appdomains/429 – VS1