是否有可能获得WCF服务来向客户端返回'错误'?我被认为使用SOAP时这是可能的,但我想返回JSON。WCF服务返回JSON格式的错误
理想情况下,HTTP响应代码将被设置为指示发生错误的内容,然后在JSON响应中提供该问题的详细信息。
目前,我正在做这样的事情:
[ServiceContract]
public class MyService
{
[OperationContract]
[WebInvoke(BodyStyle = WebMessageBodyStyle.Wrapped, RequestFormat = WebMessageFormat.Json, ResponseFormat = WebMessageFormat.Json)]
[FaultContract(typeof(TestFault))]
public MyResult MyMethod()
{
throw new FaultException<TestFault>(new TestFault("Message..."), "Reason...");
}
}
凡TestFault
看起来是这样的:
[DataContract]
public class TestFault
{
public TestFault(string message)
{
this.Message = message;
}
[DataMember]
public string Message { get; set; }
}
有没有在服务配置尤为特别的时刻。
这会导致'400错误请求'响应,并显示HTML格式的错误。 (当我includeExceptionDetailInFaults
,我可以看到“理性......”和FaultException
的细节,但对TestFault
没有详细说明。)
的web服务,返回JSON OK了Exception
(或FaultException
)是不是被当抛出。
任何建议..?
又一次尝试在解决这一这里http://iainjmitchell.com/blog/?p=142 – 2011-06-20 14:33:23