Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何更改SOAPException响应代码_C#_Asp.net_Web Services_Exception Handling_Soapexception - Fatal编程技术网

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