2011-07-19 37 views
0

這是我的界面,它是實現類文件。在實現服務功能的同時,有機會獲得3個例外。如何在WCF中實現自定義故障契約?

我需要處理這些使用自定義故障合同。你能否告訴我如何在一個錯誤合同下實施3個例外。

接口:

功能GetEntities()作爲字符串

類文件,使用該服務的接口:

Public Function GetEntities() As String 

    Dim result As String = Nothing 
    Dim ds As New DataSet 

    'Result string from Mapping file. 
    Dim resultFrmMap As String = ReadXML(entity) //Here need to handle exception. 

    Using con As New SqlConnection(System.Configuration.ConfigurationManager.AppSettings("MainDBConnectionString").ToString()) 
     con.Open() 
     Dim cmd As New SqlCommand(resultFrmMap, con) 

     Using Da As New SqlDataAdapter(cmd) 
      ds.Clear() 

      Da.TableMappings.Add("Table", "Data") 
      Da.Fill(ds) 
      cmd.Dispose() 
     End Using 

    End Using //Here need to handle exception. 

    result = GetXML(ds) //Here need to handle exception. 



    Return result 

End Function 

問候, JN

回答

3

創建一個DataContract類模型故障細節(現在稱之爲FaultDetails),並將其與FaultContract a一起使用ttribute簽註GetEntities方法在服務合同

現在,在您GetEntities方法捕捉三種例外情況,並拋出一個FaultException異常(FaultDetails中)

無論是或處理翻譯集中使用IErrorHandler