2009-10-21 88 views
4

是否有可能在不停止IIS的情況下更新預編譯站點的站點dll。如何在不停止站點的情況下更新ASP.Net站點dll

目前,如果我嘗試複製新文件以覆蓋當前文件,則所有用戶在複製文件時都會收到運行時錯誤。有沒有辦法避免這種情況?

+0

您可以先將文件上傳到單獨的文件夾,然後遠程複製過程只需要幾分之一秒。 – NibblyPig 2010-05-24 16:25:04

回答

9

即使你不停止,任何改變web.config文件,Bin文件夾,程序App_Data或App_Code文件將強制.NET編譯器執行...

,你會丟失任何會話變量記憶。

我要做的就是用會話狀態SQL模式,如果你的系統設置這樣,用戶將留在現場

(長博覽會在頁面重新加載後)。 NET仍然會調用編譯器來編譯新的指令集,但很快就完成了,所有會話都將從SQL Server中讀取,並且因爲它們仍然存在(並且不會因內存刷新而丟失),用戶仍將保留在網站中擁有當前的憑據。

它比內存中會話狀態慢一點,但更可靠,特別是共享主機:)這是在會話中增加/減少會議紀要的方式,因爲共享主機不允許它即使你

Session.Timeout = 5; 

他們的機器配置將覆蓋你,與SQL會話狀態的一切改變,你就可以設置你的時間,因爲這是所有的SQL Server做。

隨意閱讀this article知道如何做一切。

希望它有幫助。

+0

您的鏈接現在無法使用。 – krlzlx 2016-07-04 08:17:45

+0

@krlzlx [閱讀此答案](http://stackoverflow.com/a/1451942/28004),它會說同樣的,並給你一切工作的好帖子 – balexandre 2016-07-04 10:16:22

+0

@balexandre如何使用ssd存儲憑據在SQL服務器和其他數據存儲的磁盤 – 2016-12-13 05:39:09

相關問題