相关疑难解决方法(0)

将WebClient错误作为字符串获取

我有一个测试Web服务的诊断工具.

我希望工具在出现问题时进行报告,因此我已经部署了一个服务,但合同有问题需要对其进行测试.

当我浏览它时,我得到一个带有描述性信息的页面,例如:

ExceptionDetail,可能由IncludeExceptionDetailInFaults = true创建,其值为:System.InvalidOperationException:在对WSDL导出扩展的调用中抛出异常:
System.ServiceModel.Description.DataContractSerializerOperationBehavior contract:类型XXX的DataContract无法添加到DataContractSet中在名称空间XXX中具有相同数据合同名称XXX的类型XXX已经存在且合同不等同等.

我想要的是能够打电话:

myErrorMsg = WebClient.DownloadString("MyBadService.svc");
Run Code Online (Sandbox Code Playgroud)

并将此有用的错误消息作为字符串,但我得到以下WebException:

远程服务器返回错误:(500)内部服务器错误.

如何获得在浏览器中收到的相同错误消息作为字符串返回,而不会出现异常?

谢谢.

c# web-services webclient

28
推荐指数
1
解决办法
1万
查看次数

System.Net.HttpWebRequest :: GetResponse()中的错误处理

我有一个System.Net.HttpWebRequest用于与远程主机通信的Powershell脚本.

我创建请求,相应地设置属性并调用getresponse()getresponsestream()从服务器读取整个响应到字符串.只要服务器以"200 OK"消息响应,这就可以正常工作.

如果服务器有一个"400错误的请求"或任何其他错误代码,响应getresponse()getresponsestream()抛出异常和返回任何结果.我的问题是我需要的响应头中包含更详细的错误信息,因此我可以自己进行错误处理.

我如何能够检索此400 Bad Request信号?

.net powershell httpwebrequest httpwebresponse

2
推荐指数
1
解决办法
1万
查看次数