首页 / 知识
关于.net:Web服务中的异常
2023-04-13 23:24:00

Exceptions in Web Services我的小组正在开发一个基于服务的(.NET WCF)应用程序,我们正在尝试决定如何处理内部服务中的异常。 我们应该抛出异常吗? 返回序列化为XML的异常? 只是返回错误代码? 请记住,用户永远不会看到这些异常,仅适用于应用程序的其他部分。
WCF使用
您可以在合同界面中使用 例如:
好吧,为什么不只抛出标准的SOAPException?错误代码和序列化XML的问题在于它们都需要附加的逻辑来识别实际上确实发生了错误。仅当您需要在Web服务的另一端进行专门的日志记录或逻辑时,这种方法才有用。这样的示例将返回一个带有错误异常报告的标记,表示"可以继续"。 不管您如何抛出它,它都不会使工作变得容易,因为调用方仍需要认识到存在异常并对其进行处理。 我有点困惑,我不是很随便-您说您想一方面返回以XML序列化的异常,而另一方面用户永远不会看到该异常。谁会看到这些例外? 通常我会说要使用WCF故障合同。 我会避免将异常直接发送回客户端,除非您可以将这么多的详细信息发送回客户端。 我建议使用WCF故障来传输您的错误消息和代码(可以用来决定接收方重试,出错等),具体取决于发送方或接收方是否有故障。 可以使用FaultCode.CreateReceiverFaultCode和FaultCode.CreateSenderFaultCode来完成。 我现在正在经历此过程,但是遇到了一个令人讨厌的问题,似乎是在WCF错误生成的SOAP 1.1响应中。如果您有兴趣,可以在这里查看我的问题: .NET WCF错误生成不正确的SOAP 1.1错误代码值 Phil,应用程序的不同部分使用WCF相互调用。通过"将序列化为XML的返回异常",我的意思是该函数的返回值将是一个异常对象。成功将由null表示。 我认为这不是正确的选择。 WCF故障合同听起来不错,但是我对它们一无所知。现在检查谷歌。 |
最新内容
相关内容
Pytorch入门之配置云服务器环境
Pytorch入门之配置云服务器环境,环境,平台,流程,代码,数据,工具,平稳,网络,时间,网上,Pytorch简介Pytorch底层是Torch框架,Torch框架是一个科Python可以做桌面应用程序吗
Python可以做桌面应用程序吗,平台,系统,较大,标准,培训,界面,桌面,文档,入门,开发者,python可以做桌面应用程序!目前比较主流的几个GUI平台:1python怎么抛出异常不乱码
python怎么抛出异常不乱码,异常,代码,信息,基础,检测,培训,语句,发生,程序,乱码,当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执python出错时怎么抛出异常
python出错时怎么抛出异常,异常,代码,信息,基础,检测,培训,语句,发生,程序,结束,基础异常处理try/except语句用来检测try语句块中的错误,从而python怎么抛出异常信息
python怎么抛出异常信息,异常,代码,信息,基础,检测,培训,语句,发生,程序,除数,当Python脚本发生异常时我们需要捕获处理它,否则程序会终止执行python不抛出异常怎么办
python不抛出异常怎么办,异常,信息,培训,检测,基础,语句,发生,程序,除数,错误,异常是Python对象,表示一个错误。当Python脚本发生异常时我们需python http服务怎么搭建
python http服务怎么搭建,服务,培训,环境,进程,命令,端口,后台,不是,终端,开头,在Linux服务器上或安装了Python的机器上,Python自带了一个WEBpython静态web服务器如何实现
python静态web服务器如何实现,数据,培训,服务,代码,时间,服务器,静态,报文,浏览器,消息,python静态web服务器如何实现的方法:1、编写TCP服务器如何将反射添加到C ++应用程序?
如何将反射添加到C ++应用程序?,如何将反射添加到C ++应用程序?,类型,原生,托管,的是,How can I add reflection to a C++ application如何在ASP.NET Web应用程序上使用
如何在ASP.NET Web应用程序上使用表单身份验证最佳地处理基于角色的权限?,如何在ASP.NET Web应用程序上使用表单身份验证最佳地处理您将如何在 Ruby on Rails 应用程
您将如何在 Ruby on Rails 应用程序中使用 rSpec 测试观察者?,您将如何在 Ruby on Rails 应用程序中使用 rSpec 测试观察者?,应用程序关于报告服务:如何使用SSRS中的自定
关于报告服务:如何使用SSRS中的自定义代码解决System.Security.SecurityException?,关于报告服务:如何使用SSRS中的自定义代码解决Sys