我在開發中遇到了這個問題所以把解決的方案給大家分享一下希望對一些遇到同樣問題的朋友有所幫助
ASPNET 是采用動態編譯機制的了也就是只要添加ASPX文件和相應的CS後台代碼文件不再需要進行編譯就可以運行了
ASPNET 會去動態的編譯進行而這種帶有監控色彩的機制雖然帶來很多好處
很明顯的要是app_code裡的代碼有變化或者Bin目錄裡的文件有變化WebConfig有變化都會導致Application重啟這些都可以理解的
不可理解的是當有目錄被刪除時時也會導致Application重啟這就會讓Session失去了我曾試圖放到App_data裡以為App_Data是ASPNET唯一的淨地結果讓我失望了在App_Data裡有刪除目錄的操作同樣會Application重啟
網上有好多人遇到這樣的問題有人建議是采用進程外的Session但這種設置畢竟是有點麻煩的我可懶得去動具體的方法可以參考
但我找到了另一種更好的變通的方式
就是在應用項目的目錄外面建一個目錄比如在C\下建個MyWebTemp目錄
然後在IIS裡的應用項目裡建一個虛擬目錄指向這個C\MyWebTemp上
然後記住要把足夠的權限給賦上比如IUSR_XXXXNetWork等賦上讀寫權限
現在好了你可以在你的應用項目裡對/MyWebTemp的目錄進行文件操作了添加子目錄刪除子目錄都無所謂了
其實原理很簡單的就是ASPNET會對應用項目的目錄結構進行監控一旦有目錄刪除 就重啟那麼只要MyWebTemp不在他的目錄結構監控范圍裡就可以了
這種文法比較簡單可能不是最佳的方案不過能應付就可以了)希望能有更簡單易行的方案出來
From:http://tw.wingwit.com/Article/program/net/201311/11794.html