[英]Thread abort exception
我在webservice中存在一個問題,它存在於mono中。 我有一個處理大量數據庫操作的web服務。 我在“appSettings”標簽下的“webconfig”文件中給出了“Timeout = 1024”。
在2 minuter之后調用webservice時,我得到“線程中止異常”。
請幫我克服這個問題
關於庫馬蘭
您還想設置請求超時。 默認情況下,這類似於30或60秒。
在system.web
部分中,設置如下內容:
<httpRuntime executionTimeout="200"/>
這將影響所有頁面,因此您可能希望將頁面放在單獨的文件夾中,以便您可以擁有此設置的本地web.config文件。
將長操作(在您的情況下超過2分鍾)放置到同步Web服務方法是不好的做法。 通常,Web服務只是在后端服務器或至少另一個線程上啟動長時間方法的外觀。 客戶端可以定期檢查操作是否完成(所謂的看門狗模式)。 或者回顧使用單向方法的可能性 - 當客戶根本不關心結果時。
順便說一句,注意,即使在Web請求中成功操作也必須完成ThreadAbort異常 - 因為HttpRequest包含它在請求處理結束時提升
檢查不足之處。 那應該有某種HttpApplication.CancelModelException
,它應該包含一個標志,指示它是否超時。 無論哪種方式,如果你確實有一個不確定的感覺,它可能提供更多的洞察力。
此外,請確保您的方法設置為異步 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.