C# 如何更改SOAPException响应代码
我正在使用C# 如何更改SOAPException响应代码,c#,asp.net,web-services,exception-handling,soapexception,C#,Asp.net,Web Services,Exception Handling,Soapexception,我正在使用SoapException来处理无效输入和web服务中的所有其他类型的异常处理。它的工作很好,我能够格式和返回正确的信息给客户。我遵循的方法与这里解释的方法类似 现在我想更改发生SoapException时返回的响应代码(ResponseCode:500内部服务器错误) 以下是当发生SoapException时,除了我自己的自定义XML数据之外,我得到的默认响应代码。我想将响应代码更改为200。。有可能吗?怎么可能 ResponseCode: 500 (Internal Server
SoapException
来处理无效输入和web服务中的所有其他类型的异常处理。它的工作很好,我能够格式和返回正确的信息给客户。我遵循的方法与这里解释的方法类似
现在我想更改发生SoapException
时返回的响应代码(ResponseCode:500内部服务器错误)
以下是当发生SoapException
时,除了我自己的自定义XML
数据之外,我得到的默认响应代码。我想将响应代码更改为200。。有可能吗?怎么可能
ResponseCode: 500 (Internal Server Error)
Connection:Close
Content-Length:494
Cache-Control:private
Content-Type:text/xml; charset=utf-8
Date:Tue, 25 Jan 2011 06:59:30 GMT
Server:ASP.NET Development Server/8.0.0.0
X-AspNet-Version:2.0.50727
根据WS-I基本概况,支持约翰·索德斯的上述警告:
R1126如果响应消息是SOAP错误,则实例必须使用“500内部服务器错误”HTTP状态代码
找到了答案((System.Web.HttpContext)(System.Runtime.Remoting.Messaging.CallContext.HostContext)).Response.StatusCode=200@阿里兹:如果这是您选择的解决方案,那么您选择违反SOAP标准。代码必须是500。由于某些浏览器不将异常内容转发到使用webmethod的flash,我还想将statusCode更改为200。但是,这个解决方案对我不起作用<代码>((System.Web.HttpContext)(System.Runtime.Remoting.Messaging.CallContext.HostCont)ext)).Response.StatusCode=200;抛出新的SoapException()代码>仍然返回响应代码500