我有一个运行Web方法的长任务的WebService.asmx。 持续时间在executionTimeout和Azure限制230秒之下。 因此,请求可以等待这30秒的操作并收到响应。
我希望在客户端断开连接时停止服务器操作 所以我读了httpContext.Response.ClientDisconnectedToken并将cancelToken传递给我的进程。
我准备了一个调用此webMethod的客户端,并将超时设置为10秒,之后它将断开连接。
当我在内部部署IIS上发布webApplication时,它可以正常工作,并在客户端过早断开连接时立即停止我的服务器任务。
当我在Azure上的App Service上发布它时,它没有收到客户端断开连接事件。
为什么clientDisconnectedToken不起作用?
我有一个项目可用作演示和已发布的Web服务,以便在需要时进行测试。