C# 从aspx页面检索数据的JQuery
我想从aspx页面检索数据。但是,如果填充,则在静态字段中等待数据 JQuery:C# 从aspx页面检索数据的JQuery,c#,javascript,jquery,asp.net,C#,Javascript,Jquery,Asp.net,我想从aspx页面检索数据。但是,如果填充,则在静态字段中等待数据 JQuery: $.ajax({ url: "Services/JSON/GetMessage.aspx", type: "GET", dataType: "json", success: function (response) { alert(response.Text); }, error: function (x, t, m) {
$.ajax({
url: "Services/JSON/GetMessage.aspx",
type: "GET",
dataType: "json",
success: function (response) { alert(response.Text); },
error: function (x, t, m) {
if (t === "timeout") {
alert("got timeout");
} else {
alert(t);
}
}
})
Services/JSON/GetMessage.aspx
<%@ Page Language="C#" %>
<%
Response.Clear();
Response.ContentType = "text/json";
int tryCount = 0;
while (1 == 1)
{
if (ClsStaticFields.Messages.Count > 0)
{
foreach(string message in ClsStaticFields.Messages) {
Response.Write("{ Text:'" + message + "' }");
}
}
tryCount ++;
if (tryCount > 29) break; // 1 Minute wait and exit
System.Threading.Thread.Sleep(2000); // 2 Second wait
}
Response.End();
%>
0)
{
foreach(ClsStaticFields.Messages中的字符串消息){
写(“{Text:'”+消息+“}”);
}
}
tryCount++;
如果(tryCount>29)中断;//等待1分钟,然后退出
系统线程线程睡眠(2000);//2秒等待
}
Response.End();
%>
我很好奇:
$.ajax({
url: "Services/JSON/GetMessage.aspx",
type: "GET",
dataType: "json",
success: function (response) { alert(response.Text); },
error: function (x, t, m) {
if (t === "timeout") {
alert("got timeout");
} else {
alert(t);
}
}
})
- 这段等待时间是否会影响其他用户李>
- 这是导致IIS或页面锁定的原因吗
- 这种使用对CPU有严重影响吗
GetMessage.aspx
页面,这是一个aspx
页面,可能与会话连接,这会影响其他用户
如果可能并且一切正常,请禁用该页面的会话
<%@ Page Language="C#" EnableSessionState="false" %>
亲属:
全景 我认为这不是一个好主意,你让你在这个封闭的循环中等待信息,我建议两种选择 使用javascript定时器定期调用浏览器
。这是一种每2秒获取一次消息的方式,为什么不每隔几秒从浏览器中调用该消息呢
或者更好地使用comet方法调用服务器。下面是asp.net中comet的一个示例:
为什么不好,首先您使用属于asp.net iis的线程,并且与浏览器调用连接,即保持打开的连接,并且很快您打开的连接将耗尽,可能asp.net线程也有此问题
像您这样的定期检查最好使用计时器,而不是线程等待的闭合循环,这里最好的地方就是浏览器本身。我看到您使用了GetMessage.aspx
页面,这是一个aspx
页面,可能与会话连接,这会影响其他用户
如果可能并且一切正常,请禁用该页面的会话
<%@ Page Language="C#" EnableSessionState="false" %>
亲属:
全景
我认为这不是一个好主意,你让你在这个封闭的循环中等待信息,我建议两种选择
使用javascript定时器定期调用浏览器。这是一种每2秒获取一次消息的方式,为什么不每隔几秒从浏览器中调用该消息呢
或者更好地使用comet方法调用服务器。下面是asp.net中comet的一个示例:
为什么不好,首先您使用属于asp.net iis的线程,并且与浏览器调用连接,即保持打开的连接,并且很快您打开的连接将耗尽,可能asp.net线程也有此问题
像您这样的定期检查最好使用计时器,而不是线程等待的闭合循环,这里最好的地方就是浏览器本身。@AdemEyüboğlu那么这段代码可能是锁定其余调用。@AdemEyüboğlu那么这段代码可能是锁定其余调用。