我已经实现了一个 ASP.NET http处理程序。在我看来,没有办法设置超时,例如,如果处理程序已经运行了 X 秒以上,则不要提供结果。
我在这里是正确的还是有办法实现 ashx 处理程序的超时?
ASP.Net 有一个内置的超时,这将导致它终止超过配置限制的连接。
默认值为 110 秒。
<system.web>
<httpRuntime executionTimeout="110">
</system.web>
但是,在 DEBUG 模式下编译时,此功能将被禁用。
<!-- Execution Timeout Will Not Be Enforced -->
<compilation debug="true" />
如果需要为特定处理程序设置执行超时,则始终可以为该处理程序专门创建一个位置,并在其中设置超时。
<location path="MyHandler.ashx">
<system.web>
<!-- Set execution timeout to 10 minutes -->
<httpRuntime executionTimeout="600"/>
</system.web>
</location>