2011-03-31 55 views
1

現在我正在使用第三方提供商獲取一些數據。每次打電話給我的服務時,我都需要爲數據支付一小筆費用。我想知道在sql或c#中是否有可以將數據存儲在個人數據庫中的方法,然後檢查(在指定的時間範圍之後)我的第三方提供商是否有新數據。在特定時間範圍內檢查新數據

例如,每次加載頁面時,我都希望查找新數據,而不是「調用服務」/「查找數據」,而是將數據存儲在個人數據庫中下週使用。這有助於降低成本並加快我的系統。

我不在這裏尋找任何代碼,只是一個簡單的方法來執行/問題解決。我的工具是VS,C#,SQL,asp.net/html。

+0

這取決於您使用的服務;他們的API可能不支持這個 – 2011-03-31 20:38:36

回答

2

我建議你使用sql依賴。當數據發生變化時,它會通知您的申請:read more here當然,如果他們允許的話。您還可以使用任意數量的緩存應用程序:AppFabric,memcached,SharedCache,ASP.NET緩存。

+0

感謝這一點。你有什麼具體的細節/緩存示例? – locoboy 2011-03-31 23:11:29

+1

請參閱:http://stackoverflow.com/questions/2458205/simple-c-asp-net-cache-implementation用asp.net緩存對象可以設置當一個項目的到期時間限制,你也可以選擇使用前面提到的sqlcache依賴關係。 – 2011-04-01 01:39:43

3

您可以創建在你存儲你用來調用數據提供的關鍵,你終於回到數據SQL一個簡單的表格,以及時間戳您上次從您的數據提供檢索到的數據。如果他們的鑰匙不在您的表格中,請調用您的數據提供者並在表格中插入一行,並在結果中添加一個新的時間戳記。如果時間戳比您想要的要舊(可能需要在web.config中配置這段時間),請檢索數據並使用新數據和新時間戳更新表中的那一行。

確保您沒有違反與您的數據提供商通過存儲數據的服務條款。我爲數據提供商工作,我們的合同允許存儲大多數數據,最長24小時。

+0

感謝Eric,有沒有辦法在.net框架中創建和存儲時間戳?我從來沒有這樣做使用SQL服務器或C#之前 – locoboy 2011-03-31 20:51:32

+0

您可以設置觸發器,等等,但最簡單的方法就是從您的應用程序調用服務,獲取數據,並將其保存到數據庫中指定DateTime.Now (或UtcNow)作爲時間戳。任何你喜歡的ORM將會幫助你堅持二者的數據,並得到它回來。 – KeithS 2011-03-31 21:13:34

+0

@ cfarm54:是的,很容易從.NET框架中將東西存儲在SQL中。那裏有一堆教程。這裏是頂部谷歌的結果:http://www.codeproject.com/KB/database/sql_in_csharp.aspx – 2011-03-31 22:23:38

相關問題