在一個C#ASP .NET應用程序中,我有一個Web服務,它接收一個DataSet,處理它並返回它。當Web服務返回結果時,如何檢測連接何時中斷?
返回它可能需要長達一分鐘的慢速連接。如果在Web服務方法的最後一行運行後數據仍在發送時連接斷開,後臺會發生什麼情況?
我試着將我的web服務的代碼包裝在catch塊中,並在下載時斷開連接,但web服務中沒有拋出異常。我倒是以某種方式檢測錯誤是這樣的:
[WebMethod(Description = "Process data")] public DataSet Process(DataSet data) { bool success = true; StartDatabaseTransaction(); DataSet result = Process(data); try { return result; //quickly pull out cable after running this } catch { success = false; //never gets here } finally { if (success) CommitTransaction(); else RollBackTransaction(); } return null; }