2014-12-13 16 views
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返回詳細的消息異常到客戶端(我想顯示詳細的消息)。

回答

相關問題