0
,所以我試圖網頁API投擲HttpResponseException以及如何從我的WPF客戶端我發送異步請求,網頁API,應在這種情況下返回HttpResponseException收到WPF客戶端
HttpResponseMessage response = new HttpResponseMessage();
response = client.GetAsync(url).Result;
if (response.IsSuccessStatusCode)
{
...
} else {
MessageBox.Show("Not active" + response.StatusCode + " : Message - " + response.ReasonPhrase);
}
的WebAPI側
private void GetData()
{
try {
data = RavenSession.Query<myobj>().Take(1024).ToList();
} catch (WebException) {
throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.ServiceUnavailable, "Database is not online!"));
}
}
再次WPF客戶端上我想獲取HttpResponseException
所以我包的代碼第一個塊到try catch塊
try{
HttpResponseMessage response = new HttpResponseMessage();
response = client.GetAsync(url).Result;
if (response.IsSuccessStatusCode)
{
...
} else {
MessageBox.Show("Not active" + response.StatusCode + " : Message - " + response.ReasonPhrase);
}
}
catch(HttpResponseException e){
MessageBox.Show(e.Message);
}
catch(Exception e){
MessageBox.Show(e.Message);
}
但是catch塊沒有被擊中。我只能訪問response.IsSuccessStatusCode
,但這種方式我無法從webservice返回詳細的消息異常到客戶端(我想顯示詳細的消息)。