Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/277.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从aspx页面检索数据的JQuery_C#_Javascript_Jquery_Asp.net - Fatal编程技术网

C# 从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) {

我想从aspx页面检索数据。但是,如果填充,则在静态字段中等待数据

JQuery:

   $.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那么这段代码可能是锁定其余调用。