0
我有一个处理程序,在图像下执行一些艰苦的工作。 它看起来像http://example.com/webservice.ashx?imageparam1=100&imageparam2=200IIS:中止处理程序工作在客户端连接关闭
该处理器的每个请求大约需要2-3秒。
如果客户端关闭连接(即关闭页面或发送其他图像请求),我需要一种中止图像生成的方法。
有没有办法做到这一点?
我有一个处理程序,在图像下执行一些艰苦的工作。 它看起来像http://example.com/webservice.ashx?imageparam1=100&imageparam2=200IIS:中止处理程序工作在客户端连接关闭
该处理器的每个请求大约需要2-3秒。
如果客户端关闭连接(即关闭页面或发送其他图像请求),我需要一种中止图像生成的方法。
有没有办法做到这一点?
你得看看IsClientConnected
属性HttpContext.Response
对象。当它变为假时,取消图像生成。
我不能提供更多的想法,因为它取决于您创建图像的方式。我只能建议单独生成线程,以便能够定期检查连接的主线程中断线程。发生器的资源也必须以某种方式清理,这可能是增加解决方案复杂性的主要问题。
嗯。谢谢,我会尝试。 在单独的WCF服务上生成图像,因此资源没有问题。 – AlfeG
我的意思是处理图形和所有绘图工具。如果某些对象未被GC清理,内存泄漏可能是问题。而据我所知,在.NET中处理图像时涉及非托管资源。 – terR0Q