【发布时间】:2014-11-25 20:34:46
【问题描述】:
这是来自我的 MVC 控制器的方法:
public async Task RecorderInfo()
{
Stream stream = Response.OutputStream;
for (int i = 0; i < 100; i++)
{
byte[] data = new byte[100];
await stream.WriteAsync(data, 0, data.Length); // Send data to the client.
await Task.Delay(10000); // Wait for some event.
}
}
很明显,我想随时将数据返回给 HTTP 客户端,因此,对于这种方法存在一些问题:
- 长时间保持 Web 响应是否安全?当对该操作发出多个请求时,一些线程池不会用完空闲线程吗?
- 我会遇到什么陷阱吗?
- 您将如何做到这一点,您将如何离散地通知 HTTP 侦听器某个事件或向他发送一些数据?
【问题讨论】:
标签: c# asp.net-mvc multithreading network-programming httpwebresponse