如何在WCF中实现自定义错误契约?

时间:2011-07-19 06:06:44

标签: vb.net wcf

这是我的界面和它的实现类文件。在实现服务功能时,有机会获得3个例外。

我需要使用自定义故障合同来处理这些问题。您能否告诉我如何在一个故障合同下实施3个例外。

接口:

    函数GetEntities()As String

使用服务接口的类文件:

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

1 个答案:

答案 0 :(得分:3)

创建一个模拟故障详细信息的DataContract类(现在让我们称之为FaultDetails),并将其与FaultContract属性一起使用,以在服务合同中注释GetEntities方法

现在在你的GetEntities方法中捕获三个异常并抛出一个FaultException(Of FaultDetails)

使用IErrorHandler

集中处理或处理翻译