几天来,我们一直遇到一个WCF通信错误,我不知道是什么导致了这个错误。我最初认为这是一个SSL证书问题,但它不是。我还确保只要在web浏览器上输入URL就可以到达endpoint,并且可以查看。我还确保默认的请求大小不会导致这个问题。我确信这些请求小于默认的30MB。
还有什么东西可以防止这种堆栈跟踪错误?
客户端堆栈跟踪:
由于通信失败,WCFDirector获取失败。
因为表单没有正确加载,所以必须关闭它。---
服务器堆栈跟踪:
在System. ServiceModel. Channel. HttpChannelU的System. ServiceModel. Channels.请求(Message,TimeSpan超时)在System. ServiceModel. Channel. ServiceChannel. ServiceChannel. In的System. ServiceModel. ServiceChannel.的System. ServiceModel.的HttpServiceChannel. HuitForReple(TimeSpan超时)(Message,TimeSpan超时)(Message,TimeSpan超时)在System. ServiceModel. Dispatcher.请求ChannelBinder.请求(Message消息,TimeSpan超时)在System. ServiceModel. Channel. ServiceChannel.打电话(字符串操作,布尔单向,Proxy操作运行时操作,Object[]ins,Object[]out,TimeSpan超时)在System. ServiceModel. Channel. ServiceChannelProxy. In
尝试关闭KeepAlive。类似于:
var client = new MyWcfClient();
var customBinding = new CustomBinding(client.Endpoint.Binding);
var transportElement = customBinding.Elements.Find<HttpTransportBindingElement>();
transportElement.KeepAliveEnabled = false;
client.Endpoint.Binding = customBinding;
Rest API 和 SOAP 的仅配置版本
<services>
<service name="SecureTransportDemo.Service.GreetingService">
<endpoint address="Soap"
binding="customBinding"
bindingConfiguration="soap-secure-nokeepalive"
contract="SecureTransportDemo.Service.IGreetingService"
name="soap-nokeepalive"/>
<endpoint address="Rest"
binding="customBinding"
bindingConfiguration="rest-secure-nokeepalive"
behaviorConfiguration="web"
contract="SecureTransportDemo.Service.IGreetingService"
name="rest-nokeepalive"/>
</service>
</services>
<bindings>
<customBinding>
<binding name="soap-secure-nokeepalive">
<textMessageEncoding />
<httpsTransport allowCookies="false"
keepAliveEnabled="false"/>
</binding>
<binding name="rest-secure-nokeepalive">
<webMessageEncoding />
<httpsTransport manualAddressing="true"
allowCookies="false"
keepAliveEnabled="false"/>
</binding>
</customBinding>
</bindings>
<behaviors>
<endpointBehaviors>
<behavior name="web">
<webHttp automaticFormatSelectionEnabled="true"
faultExceptionEnabled="true"
helpEnabled="true"/>
</behavior>
</endpointBehaviors>
</behaviors>
构建信息:版本:'2.53.1',修订:'A36B8B1CD5757287168E54B817830ADCE9B0158D',时间:'2016-06-30 19:26:09'系统信息:host:'fms-dev',IP:'192.168.1.56',OS.name:'Windows 8.1',OS.arch:'AMD64',OS.version:'6.3',java.version:'1.8.0_
问题内容: 简短版本: 在启用AJAX的WCF服务中引发异常时(除了仅打开闸门并将所有异常详细信息发送回去),是否有建议的方法将错误详细信息返回给客户端? 长版: 我有一个相对简单的启用AJAX的WCF服务,可以使用默认服务代理从客户端调用该服务。我在下面提供了代码段,但我不认为代码本身有什么问题。 我的问题是,如果我在服务中引发异常,则返回给客户端的错误对象总是通用的: 理想情况下,我想根据出了
问题内容: 我对WCF有点陌生,将尝试清楚地描述我要做什么。 我有一个使用JSON请求的WCF Web服务。我在大多数情况下都可以很好地发送/接收JSON。例如,以下代码可以正常运行,并且符合预期。 JSON已发送: WCF: 这将按预期返回带有“ Dave”的JSON对象。问题是我无法始终保证我收到的JSON与我的DataContract中的成员完全匹配。例如,JSON: 由于大小写不匹配,将无
Windows Communication Foundation(WCF)是由微软开发的一系列支持数据通信的应用程序框架,可以翻译为Windows 通讯开发平台。WCF 整合了原有的windows通讯的 .net Remoting,WebService,Socket的机制,并融合有HTTP和FTP的相关技术。是Windows平台上开发分布式应用最佳的实践方式。 简单的归结为四大部分 1>.网络服务
问题内容: 我有这个应用程序,它可以在本地运行,并且在部署时可以使用.mdf SQL Express数据库文件(通常用于测试目的)。但是,当我将其更改为可与我们的SQL Server 2008一起使用时,该应用程序可以运行,但该服务无法运行。 例如,如果在页面后面的代码中,我有一个按钮可以向表中添加数据,例如: 我的web.config设置为在该服务器上使用模拟,并且一切运行良好。但是,对于我的服
本文向大家介绍wcf WCF中的序列化,包括了wcf WCF中的序列化的使用技巧和注意事项,需要的朋友参考一下 示例 序列化是将对象转换为字节流以存储对象或将其传输到内存,数据库或文件的过程。Microsoft页面序列化 下面的示例演示了WCF中的序列化: [DataContract]属性与类一起使用。在这里,它装饰有Person阶级。 [OperationContract]用于方法。在这里用Ad