我正在通過httpwebrequest調用Web服務並獲取響應。 Web服務旨在全天候運行。構建調用Web服務的代碼的最佳方式
構建此代碼的最佳方法是什麼?檢查服務是否「可用」?
我有什麼:
if (NetworkIsAvailable())
{
// Call web service
// Handle exceptions within here.
}
else
{
// to throw a relevant exception that there is no network
}
是否明智拋出一個異常,或者只是返回false?該svc不應該下降
這取決於NetworkIsAvailable()正在做什麼以查看它是否可用。實際記錄或顯示某些「可用」的原因的例外可能是有用的。沒有什麼是100%的正常運行時間,所以檢查是非常明智的。 – 2012-01-30 17:33:48
我親自在try/catch中運行它。我發現網絡關閉的異常,並返回JSON聲明。 – 2012-01-30 17:35:35
除非您確定無需知道呼叫失敗的原因(不太可能),否則會拋出異常。 (或者,如果你想強制調用者處理可能的失敗,那麼返回某種錯誤代碼對象,但在C#中這不是真正的慣用方法。)'false'和'null'是可怕的錯誤指示符。 – millimoose 2012-01-30 17:56:32