簡體   English   中英

線程中止異常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM