2010-08-30 20 views
2

我有asp.net 3.5 C#和SQL Server 2008後端。讀取XML或JSON文件而不是SQL Server

有一個我最常用的表,這個表有大約100行,並且不經常改變。我的代碼(具有緩存的Web服務)從JQuery調用,通過ID搜索記錄並返回一個JSON響應給客戶端。

最近託管我的網站的服務器有一個大問題,不得不遷移到新的服務器,我的網站已關閉3天。我開始考慮將數據保存到XML或Json文件,並且不再觸摸數據庫。

我需要你的輸入。我知道如何使用XML文件(我將使用LINQ),但不知道如何使用JQUERY從客戶端讀取JSON文件。也許我應該在服務器端讀取它作爲StreamReader?

您更喜歡哪種方法(XML或JSON)。任何幫助將不勝感激。

回答

3

你實際上可以調用一個AJAX查詢的權利到一個JSON文件,它會從jQuery工作。這被稱爲RESTfull api。

例如:

http://www.myserver.com/api/customers/12

可能在foler api/customers文件12,也可能是返回一個JSON響應的腳本。這個想法是,網址代表你正在尋找的資源。

但是,我強烈建議你不要採用這種方法,即使你加載了100行並在javascript中搜索它也是一個壞主意,因爲它會給客戶端帶來負擔並打敗AJAX的目的(僅檢索相關信息)。

如果您決定廢除數據庫,我會建議使用xml文件,因爲您在服務器端保留處理並確保其行爲。在客戶端上運行任何代碼是受:

  1. 篡改從插件

這也是難以調試

  • 版本問題
  • 污點。

    我建議在Web服務上公開一個按ID查找行的方法,然後使用簡單的LINQ to XML查詢來檢索所需的數據。

    ID搜索應該是很簡單的,而且你甚至可以緩存的結果,如果你要重創(以減少磁盤讀取XML &解析),但可能是矯枉過正:)

  • +1

    謝謝您的建議。這真的很有幫助 – 2010-08-31 00:03:36

    +0

    不客氣:) – Aren 2010-08-31 15:45:18