2010-04-27 118 views
1

我通過輸入用戶憑證(用戶名和密碼)連接到我的項目中的web服務,當用戶輸入無效的用戶名/密碼時,我需要捕獲未經授權的異常。我該怎麼做捕獲未經授權的異常

回答

1

你是否試圖在調用webservice之前捕獲異常?

try 
{ 
    result = Service.GetResult(param1, param2); 
} 
catch(System.Net.WebException ex) 
{ 
    Logger.WriteError("Error calling Webservice: ", ex.ToString()); 
} 

引發WebException會趕上服務器返回代碼錯誤,我相信,如HTTP狀態404:未找到等

+0

我需要在調用方法中捕獲異常。如果我使用下面的方法檢查消息文本,並且它是「請求失敗,HTTP狀態401:未經授權」,那麼可以嗎?我將有我的自定義消息 – SSK 2010-04-28 02:54:20

+0

你可以做到這一點。然後你可以重新拋出一個自定義的異常並將原始的異常包裝進去 - 也許就像UnauthorizedWebException那樣? – 2010-04-28 16:58:30

+0

你也控制Webservice嗎?即您可以對其進行更改並重新發布? – 2010-04-29 16:37:45

0

您的Web服務SOAP?你在服務端使用WCF嗎?如果是這樣,看看Specifying and Handling Faults

+0

我使用ASMX web服務 – SSK 2010-04-28 02:51:56

+0

好了,我不能幫你ASMX。祝你好運! – bradjive 2010-04-28 13:59:14