gpt4 book ai didi

wcf - 从WCF处理错误的最佳实践

转载 作者:行者123 更新时间:2023-12-02 04:04:37 25 4
gpt4 key购买 nike

我有一个与WCF服务通信的类库。然后可以在我的任何应用程序中使用类库。我对处理错误的最佳做法感到好奇。我考虑过两种情况,但想从社区中获得一些反馈。这个想法不仅是要确保它适用于.NET解决方案,而且还应该是任何其他可能不使用dll而是通过SOAP样式调用直接调用该服务的语言。

选项1
创建一个结果对象,该对象将返回到调用者API。如。

Public abstract BaseResponse
{
[DataMember]
Public bool IsSuccess { get; set;}
[DataMember]
Public string ErrorMsg { get ;set ;}
}

Public GetProductResponse : BaseResponse
{
[DataMember]
Public Product p { get;set;}
}

选项2:引发SOA故障,并允许最终用户按自己的选择进行处理。我可以在API中处理它-但是,直接调用该服务将要求最终用户针对错误进行编码并正确处理。

最佳答案

通常,我最终要做的是拥有一个业务层,该业务层将引发应用程序特定的异常。如果要将其作为Web服务公开,我将在其上放置一个很薄的层,将这些业务服务公开为WCF服务。该层除了将调用传递到业务层并将结果作为DataContract或MessageContract对象返回外,无外乎。在这个非常薄的WCF层中,我将捕获业务层中的异常并将它们映射到SOAP错误。这允许任何.Net应用程序直接使用业务层并捕获异常,以及.Net或非.Net应用程序使用Web服务并捕获SOAP错误。

关于wcf - 从WCF处理错误的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8343209/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com