2010-10-17 69 views
1

我有一個具有靜態類的WCF。我用它來存儲登錄信息。令我非常吃驚的是,我發現在不同的時間,wcf靜態正在失去價值。什麼會造成這種情況?在WCF服務中堅持信息的最佳方式是什麼?在內存中是最好的,因爲它更快...WCF在使用靜態時丟失值

+0

作爲便箋,將登錄信息存儲在內存中是危險的。如果進程崩潰並獲取內存轉儲,則最終會將登錄信息以純文本形式存儲在服務器上的某個位置。 – 2010-10-18 06:22:34

回答

1

如果託管應用程序域重新啓動,存儲在內存中的所有靜態值將丟失。例如在IIS中,應用程序可以由Web服務器卸載。

唯一的解決方法是將值保存到永久存儲中而不是使用靜態字段。

0

有幾種可能性:

  • 東西在你的代碼被刪除
  • 的廣告應用程式池正在recyled值,你再鬆一切都在內存

您可以設置選項應用程序池僅在特定時間回收。

如果您需要保留登錄信息,則應將其存儲到磁盤上的文件或最好存儲到數據庫中。