c# - 读取 XML 或 JSON 文件而不是 SQL Server

标签 c# .net jquery web-services

我有 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 文件,因为您可以将处理保留在服务器端并确保其行为。在客户端上运行的任何代码均须遵守:

  1. 篡改
  2. 版本问题
  3. 插件污染

调试起来也比较困难。

我建议在您的 Web 服务上公开一个方法,该方法按 ID 查找行,然后使用简单的 LINQ to XML 查询来检索所需的数据。

ID 搜索应该非常简单,如果您受到严重打击,您甚至可以缓存结果(以减少磁盘读取和 xml 解析),但这可能有点矫枉过正:)

关于c# - 读取 XML 或 JSON 文件而不是 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3604867/

相关文章:

c# - 在 Tpl 中处理异常

c# - 运动起点/终点检测

c# - 查找首字母大写且组合在一起的单词

c# - 如何 "get to know"未记录的 SignalR 服务器?

c# - 查找具有相同内部表示的 float / double 的最小值/最大值

.net - .Net的开源代理库

jquery - CSS3 动画在 webkit 中不起作用

.net - 当我恢复我的项目 NETSDK1139 时出现 Dotnet maui 错误

javascript - 分析JS语法

javascript - 喜欢不喜欢功能 AJAX