我写了一个asp.net页面,它打印一些文本如下:
protected void Page_Load(object sender,EventArgs e) { Response.ClearContent(); for (int i = 0; i <=100; i++) { var isOk = DoSoMetask(i); context.Response.Write(string.Format("Step {0}: {1}",i,isOk ? "Success": "Error")); Thread.Sleep(4000); } }
解决方法
好吧,我在当天很早就读过你的问题,但没有回答,因为我担心我可能无法通过简洁的代码示例为您提供解决方案.使用AJAX和处理程序(ashx)你会遇到同样的障碍,这两个都是相同的.
你有一些进程在服务器上工作,你想要在服务器上发生事情时继续反馈.
你最好的选择是pub-sub模型,在asp.net世界中,SignalR就是这个词!看看官方资源here
.
以下是步骤:
>只要您在长时间运行的任务中执行某项工作,就会生成事件
>设置信号器处理程序(集线器),响应步骤1中生成的事件.
>在aspx页面(客户端)连接信号器集线器
>在客户端代码(在setp 3中设置)处理事件(在步骤2中)并更新yuor页面时接收响应.
您可以在服务器端设置信号器处理程序并订阅长时间运行的处理任务
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。