2010-04-27 156 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