IIS:中止处理程序在客户端连接关闭时工作
我有一个处理程序在图像下做一些艰苦的工作。 它看起来像http://example.com/webservice.ashx? imageparam1=100&imageparam2=200
对此处理程序的每个请求大约需要 2-3 秒。
如果客户端关闭连接(即关闭页面或发送另一个图像的请求),我需要一种方法来中止图像生成。
有办法做到这一点吗?
I have a handler that do some hard work under images.
It's look like http://example.com/webservice.ashx?imageparam1=100&imageparam2=200
Each request to this handler take about 2-3 seconds.
I need a way to abort image generation if client close connection(i.e. close page or send request for another image).
Is there is a way to do this?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您必须观察
HttpContext.Response
对象的IsClientConnected
属性。当变为 false 时,取消图像生成。我无法提供更多想法,因为这取决于您创建图像的方式。我只能建议创建单独的生成线程,该线程可以从定期检查连接的主线程中中止。此外,必须以某种方式清理生成器的资源,这可能是增加解决方案复杂性的主要问题。
You have to watch
IsClientConnected
property ofHttpContext.Response
object. When it changes to false, cancel image generation.I can't provide more ideas as it depends on the way you create image. I can only advice to make separate generation thread that can be aborted from main thread that periodically checks connection. Also generator's resources have to be cleaned up somehow and that can be major issue increasing solution complexity.