我有 asp.net 3.5 C# 和 SQL Server 2008 后端。
有一个我最常用的表,该表大约有 100 行,并且不经常更改。我的代码(带有缓存的 Web 服务)从 JQuery 调用,通过 ID 搜索记录并向客户端返回 JSON 响应。
最近,托管我网站的服务器出现了大问题,必须迁移到新服务器,并且我的网站停机了 3 天。我开始思考,将数据保存到 XML 或 Json 文件中,并且不再接触数据库。
我需要你的意见。我知道如何使用 XML 文件(我将使用 LINQ),但不知道如何使用 JQUERY 从客户端读取 JSON 文件。也许我应该在服务器端将其作为 StreamReader 读取?
您更喜欢哪种方法(XML 或 JSON)。任何帮助将不胜感激。
最佳答案
您实际上可以直接对 JSON 文件调用 AJAX 查询,并且它可以通过 jQuery 运行。这称为 RESTfull api。
例如:
http://www.myserver.com/api/customers/12
可能是api/customers
文件夹中的文件12
,也可能是返回json响应的脚本。这个想法是,url 代表您正在寻找的资源。
但是,我强烈建议您不要采用这种方法,即使您加载 100 行并在 javascript 中搜索它,这也是一个坏主意,因为它会增加客户端的负载并违背 AJAX 的目的(仅检索相关信息)。
如果您决定放弃数据库,我建议您使用 xml 文件,因为您可以将处理保留在服务器端并确保其行为。在客户端上运行的任何代码均须遵守:
- 篡改
- 版本问题
- 插件污染
调试起来也比较困难。
我建议在您的 Web 服务上公开一个方法,该方法按 ID 查找行,然后使用简单的 LINQ to XML 查询来检索所需的数据。
ID 搜索应该非常简单,如果您受到严重打击,您甚至可以缓存结果(以减少磁盘读取和 xml 解析),但这可能有点矫枉过正:)
关于c# - 读取 XML 或 JSON 文件而不是 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3604867/