.net - 从 WCF REST 获取错误详细信息

标签 .net wcf rest channelfactory protocolexception

我有一个 .Net WCF 客户端使用的 REST 服务。

当遇到错误时,REST 服务会返回一个 HTTP 400 错误请求,其响应正文包含 JSON 序列化详细信息。

如果我使用 Fiddler、Javascript 或直接从 C# 执行请求,我可以在发生错误时轻松访问响应正文。

但是,我使用的是 WCF ChannelFactory有6个相当复杂的接口(interface)。这个代理抛出的异常总是 ProtocolException ,没有有用的细节。

当我收到此错误时,有什么方法可以获取响应正文?

更新

我意识到使用 .Net 有很多不同的方法可以做到这一点,并且还有其他方法可以获得错误响应。他们很有用,但不回答这个问题。

我们正在使用的 REST 服务会发生变化,并且当它们发生变化时,复杂的接口(interface)会得到更新。使用 ChannelFactory使用新接口(interface)意味着我们将获得编译时(而不是运行时)异常,并使这些更容易维护和更新代码。

使用 WCF channel 时,有什么方法可以获取错误 HTTP 状态的响应正文?

最佳答案

您可以检索异常详细信息,如下所示:

                Exception innerException = exception.InnerException;
                WebException webException = innerException as WebException;
                HttpWebResponse response = webException.Response as HttpWebResponse;
                string statusDescription = response.StatusDescription;
                HttpStatusCode statusCode = response.StatusCode;

关于.net - 从 WCF REST 获取错误详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2516914/

相关文章:

asp.net - 顶部和底部自动定位?

c# - 如何将二进制 blob 编码为 Unicode blob?

c# - 从 WCF 服务打印 HTML 到网络上的特定打印机

.net - 无法转换类型为 'WhereArrayIterator` 1[System.String ]' to type ' System.String[]' 的对象

.net - 新的 .NET 3.5 项目 : Which DAL technology to use?

Silverlight 4 TreeView MVVM WCF

c# - SilverLight HTTPS、基本http绑定(bind)和自定义绑定(bind)

asp.net-mvc - HttpRequestMessage 内容中的文件名

rest - ASP.NET Web API身份验证选项

java - 如何以良好的性能过滤 JSON 数据