2017-03-20 55 views
0

我知道它的愚蠢,但我想知道哪個Exception類用於萬一web服務down.I更改我的web服務的url地址爲其他,以便它引發異常爲「沒有端點列表爲。 ...「如何在Web服務或窗口服務關閉時捕獲異常?

一旦我遇到上述記錄,應該抓住一個適當的例外。

下面是我用於Timeout異常的代碼。現在我想要處理一個沒有列出端點的異常。

try 
     { 
      var result = proxy.Geocode(ADDRESSVERIFICATIONAPISOURCE); 
      if (result != null) 
      { 
       // Display result of geocoding result. 
       retAddresses.AddRange(
        result.Select(
         item => 
         new AddressContent 
         { 
          Address = item.GeocodedAddress.Address, 
          City = item.GeocodedAddress.City, 
          State = item.GeocodedAddress.State, 
          Zip = item.GeocodedAddress.Zip, 
          Status = item.Status, 
          StatusFlag = item.StatusFlag, 
          SourceId = item.GeocodedAddress.SourceId 
         })); 
      } 
     } 
     catch (TimeoutException ex) 
     { 
      retAddresses.AddRange(
        addresses.Select(
         item => 
         new AddressContent 
         { 
          Status = null, 
          StatusFlag = item.StatusFlag, 
          SourceId = item.SourceId 
         })); 
     }    
     catch 
     { 
      retAddresses.AddRange(
        addresses.Select(
         item => 
         new AddressContent 
         { 
          Status = "N", 
          StatusFlag = item.StatusFlag, 
          SourceId = item.SourceId 
         })); 
     } 
//Here I want to handle exception if service is down 

任何幫助表示讚賞。

謝謝,

+0

你趕上什麼異常,如果Web服務是跌?如果您不確定,那麼爲什麼不嘗試使Web服務脫機並運行您的代碼,然後查看您捕獲的異常。 – DomBurf

回答

0

我得到了答案。我用EndpointNotFoundException它工作。謝謝大家的幫助。

感謝,

+2

我會考慮捕獲'CommunicationException',它比EndpointNotFoundException更普遍。 – Joe