.net - 提高ajax请求的性能

标签 .net jquery ajax web-services json

我正在使用 jQuery 和 asp.net 以这种方式执行 ajax 请求:

$.ajaxSetup({
  type: "POST",
  contentType: "application/json; charset=utf-8",
  dataType: "json"
});

$.ajax({
  url: "/WebServices/CompareDates",
  data: "{allClients: '" + allClients + "'}",
  success: function(msg) {
    SuccessCompareDate(msg.d);
  }
});

此 ajax 请求每 1 秒执行一次,使用 javascript setInterval。 我平均得到响应 700 毫秒。 但是,我需要在最多 150 毫秒内做出此响应。

我已经使用 WebMethod 而不是 Webservice,但效果也不好。

服务器中一切正常。在 C# Web 服务中也是如此,它只返回一个 bool 值。 我需要表现。 有人可以帮助我吗? 谢谢..

最佳答案

在这种情况下,您的问题很可能是您无法控制的,例如网络延迟。你的语法或方法没有任何问题;但有些因素我们看不到。以下是一些调试路径。其中任何一个都可以产生成果,具体取决于您正在处理的内容以及您上下传递的数据。

  • 这可能不是您的服务器端代码。但为了确保这一点,让您的 Web 服务除了返回一个小的文字值之外不进行任何处理,并查看是否存在时间差异。
  • 这可能不是你的 jquery ajax。但为了确定起见,请尝试将其作为直接请求,Pekka 建议这样做。
  • 我现在不知道您传递的数据的大小。如果它有任何大小,请在尝试上面的第一个选项后考虑尝试仅传递一个很小的值。
  • 我不确定你是如何安排时间的。确保在回调方法开始时(在任何渲染之前)获得时间差。有时,渲染问题确实会减慢速度。做同一件事的不同方法可能会花费不同的时间。例如,直接的 javascript .innerHtml 通常非常快,但更新标记的其他方法可能很慢,并且可能因浏览器而异。
  • 同样,将 allClients 变量放在一起是否涉及大量处理?如果是这样,请比较此类处理之后开始的时间。

关于.net - 提高ajax请求的性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1946227/

相关文章:

android - phonegap android ajax 请求适用于 GET 但不适用于 POST

c# - 仅适用于 lambda 表达式的隐式类型推断?为什么 ?使困惑 !

.net - 如果、IIf() 和 If()

jquery - 如果最小宽度为 900px,则更改状态

javascript - jQuery - 有人可以帮忙用 .ajaxComplete() 拼接 jQuery 代码吗?

JQuery-AJAX : No further request after timeout and delay in form post

c# - 使用 C# 从存储在 azure blob 存储上的 200gb 文本文件中读取一行

c# - 如何在单击按钮时创建新面板?

javascript - 如何在jquery html应用程序中使用wcf服务作为远程或本地?

javascript - jquery - 使用 WHEN 和 DONE 序列化 ajax 调用