在下载过程中点取消下载,服务端怎么中断并释放资源?
服务端代码:
FileStream f = ...;
Response.Clear();
Response.Buffer = true;
Response.AddHeader(...)
...
try
while (Response.IsClientConnected)
{
bytes[] b = new bytes[1024];
int len = f.Read(buffer, 0, 1024);
Response.OutputStream.Write(b, len);
....
}
finally
{
释放资源
}
在下载过程中,客户端点取消,Response.IsClientConnected一直为true,要等很长时间(估计要把文件读完)后才能响应客户端其他操作。
有什么办法,在客户端点了取消后,直接跳出循环?