2013-05-09 61 views
0

我們有一個加載大量數據的,即大部分的設置,從數據庫到時調用我們的各種.NET遠程處理功能(我知道這是由它使用的對象不同的窗口服務舊!!)。讓這個對象在內存中包含所有這些設置,可以讓我們不斷查詢數據庫,或者在執行查詢時從緩存中加載數據。在這個「大」對象處理大型對象在無狀態環境

設置是數據的集合,從ID,路徑,文本等...

我們想從.NET遠程搬往WCF和潛在擺脫我們的窗口服務並運行在IIS下(並最終Azure),但無國籍,我想知道我們應該如何處理呢?

1)什麼是你能想到的最好的方法是什麼?從經驗中最好。這是向我提出

一項建議是,所有這一切都返回到客戶端,緩存它,使一個WCF電話時只使用相關的設置。

2)多種服務,我們有輪詢的服務,不斷地監測,數據庫,文件位置,FTP位置等...你會如何建議在無狀態的環境來處理這個?我看不出這將如何處理。

我們使用SQL Server,但我不想過度依賴內置功能,因爲我們可能不得不支持類似於Oracle的mySQL &。

謝謝。

蒂埃裏

回答

0

你可以在配置文件(Web.config爲IIS)的AppSettings部分保存這些設置。使用ConfigurationManager類,您可以根據需要檢索相關值。

如果您更願意存儲設置對象static實例,建議爲相同的實施單例模式。 Jon Skeet的article是一個很好的起點。

希望這會有所幫助。

+0

使用的AppSettings將無法正常工作。有太多的對象,字典,列表等......至於單身模式,它現在已經被使用了,但我試圖擺脫它。我們有這個大對象存儲所有這些信息,它正在通過各種Windows服務,工作流程等共享......如果我們曾經想要移動到一個無狀態的環境,我們必須弄清楚如何訪問這些不同而比在內存中加載很多,但每次從sql server讀取所有這些設置只是不是一個選項..好奇看看它可以做什麼。 – Thierry 2013-05-14 21:29:20