问题标签 [pollingduplexhttpbinding]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
199 浏览

c# - PollingDuplexHttpBinding 和应用程序池回收

我使用 aPollingDuplexHttpBinding以便客户端可以在我的应用程序中交换消息。客户端是通过一种RegisterClient()方法注册的,该方法将它们添加到静态字典中以供将来使用。

代码如下所示:

除非应用程序池被回收,否则一切正常。

当然,我意识到静态的东西在这方面并不理想。

哪里是保存我的客户参考资料以便他们在应用程序池回收中幸存下来的好地方?

0 投票
1 回答
345 浏览

c# - 如何手动创建 Silverlight PollingDuplex 客户端/代理?

有很多材料解释了为什么使用 svcutil.exe(或“添加服务引用”)不好 - 缺乏可测试性、紧密耦合等。为简单服务手动创建客户端代理很简单,您只需要手动创建接口和创建频道:

我想做类似的事情,但对于 Silverlight PollingDuplex 客户端。

这似乎更困难 - 生成的客户端继承自System.ServiceModel.DuplexClientBase- 我假设我手动创建的客户端也需要?或者有没有办法在不实现这个基类的情况下连接所有客户端 Duplex 回调功能?

有没有人试过这个?甚至可能吗?

0 投票
0 回答
201 浏览

c# - 为什么在 IIS5.1 上运行时 Silverlight PollingDuplex 服务超时?

我有一个 Silverlight 客户端,带有一个 PollingDuplex 服务客户端,它在 IIS7 下运行良好 - 客户端接收到回调消息没有任何问题。但是,相同的客户端和服务在 IIS5.1 上失败,出现 server error The IOutputChannel timed out。很明显,在 5.1 上,服务器无法回呼客户端 - 但为什么呢?

IIS7 和 IIS5.1 中的两个测试都完全在本地机器上运行(即客户端和服务器都是本地的)——没有防火墙阻碍。

想法赞赏。

0 投票
1 回答
1545 浏览

silverlight - 服务参考配置中无法识别的元素“pollingDuplexHttpBinding”

我将 WCF 与两个端点 basicHttpBinding 和 pollingDuplexHttpBinding 一起使用。在 Silverlight 4 中使用 WCF。如果我只有基本的.. 和轮询.. 效果很好。但是,如果我在一项服务和一项 silverlight 项目中同时使用,我会在客户端收到消息:

“服务参考配置中无法识别的元素‘pollingDuplexHttpBinding’。请注意,Silverlight 中只有一部分 Windows Communication Foundation 配置功能可用。”

WFC 正确引用了 silverlight 项目,但无法正常工作。这是 WCF 的 web.config:

这是客户端的配置:

0 投票
1 回答
165 浏览

azure - 在 Azure 云中轮询时从 Affinity 中逃脱

我正在尝试在 Windows Azure 中构建一个需要通知的应用程序 - 所以我正在使用 Http Polling,但我遇到了问题。我需要访问我的网络角色的同一个实例,以便维护轮询。我找到了一个网络场请求重写的解决方案(添加额外的代理角色),但我不喜欢这个解决方案。

我的问题是:有没有办法进行无状态轮询,如果有人实现了这个 - 你能给我一个提示或链接吗?

0 投票
2 回答
10274 浏览

wcf - 由于 DuplexBinding,WCF 服务引用生成一个空的 reference.cs

我有 WCF 服务。这里是配置

和服务配置

一切正常。但我需要将 basicHttpBingind 更改为 DuplexBinding。我添加了扩展名:

并将上述行更改为:


我已将服务引用添加到 WCF 项目。引用已成功添加,但 Reference.cs 几乎为空。

当我取消选中选项“在引用的程序集中重用类型”时,会生成代码但有超过 10000 行而不是 ~500

我运行 svcutil,然后我得到了下一个:

svcutil.exe http://localhost/Breeze.Workstation/Emergencies/EmergencyRegistrator.svc?wsdl

尝试使用 WS-Metadata Exchange 或 DISCO 从“http://localhost/Breeze.Workstation/Emergencies/EmergencyRegistrator.svc?wsdl”下载元数据。警告:未导入以下策略断言:XPath://wsdl:definitions[@targetNamespace='http://tempuri.org/']/wsdl:binding[@name='CustomBinding_IEmergencyRegistrator'] 断言:..

生成文件... C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\EmergencyRegistrator.cs C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\output.config

我对 WCF 服务很陌生。我希望有人能帮助我。谢谢。

0 投票
2 回答
2240 浏览

wcf - 在轮询双工 WCF 服务中设置回调超时

我有一个带有 CallbackContract 的 WCF 服务。使用“pollingDuplexHttpBinding”将服务暴露给 Silverlight 客户端 当 Silverlight 客户端“死亡”并且服务调用回调操作时,它会在一分钟后收到超时异常。如何将此超时设置为不同?

谢谢, 埃拉德

0 投票
1 回答
354 浏览

wcf - 例外:内容类型 application/mspd1 被发送到需要 application/soap+msbin1 的服务

我有 WCF 服务和 Silverlight 客户端。我使用 PollingDuplexElement。

在服务器端,我有以下配置。

在客户端:

我收到以下错误: 内容类型 application/mspd1 已发送到需要 application/soap+msbin1 的服务。客户端和服务绑定可能不匹配。

还应该配置什么。我花了很多时间,但找不到答案。

0 投票
2 回答
1353 浏览

wcf - PollingDuplexHttpBinding 和 DuplexChannelFactory - 'EndpointDispatcher 的 ContractFilter 不匹配'

我正在编写一个由 Silverlight 5 客户端使用的双工服务。我的服务器配置看起来像这样(显然在正确的位置)-

你看到的合同是这样的——

这似乎托管得很好,但我不是 100% 确定这一点。

我的客户端代码如下所示 -

当我跨过“factory.EndConnect(result)”时遇到了 ContractFilter 不匹配问题,但我不明白为什么。显然,在服务器上我正在实现异步接口的同步版本(所以只是连接而不是开始/结束连接),但这是我能想到的唯一地方,这里有一个不匹配的合同。

我现在真的要拔头发了……我已经秃了!任何帮助将非常感激。

提前致谢。

0 投票
0 回答
345 浏览

wcf - 使用 pollingDuplexHttpBinding 从服务器向客户端发送大消息

首先,我想问一下理论,因为我没有找到任何相关文档:我们有一个 Silverlight 客户端和一个 WCF 服务。它们之间的通信是通过一个 pollingDuplexHttpBinding 进行的。假设服务器要向客户端发送一条消息,其大小大于设置的 MaxBufferSize 和 MaxReceivedMessageSize。在这种情况下,幕后发生了什么?

现在,这是我对这个问题的实际经验:服务器端的绑定配置:

从服务器向客户端发送一个大的(即大于上面描述的客户端绑定属性中设置的值)消息。然后,发送第二条(不是大)消息=>我收到第二条消息的发送超时(我不知道客户端是否收到过第一条消息)。我试图搜索一些有用的日志记录,以查看第一条消息会发生什么。在服务器端(通过激活 WCF 记录器)和客户端(通过使用 Fidler)完成。我在日志中没有发现任何真正有趣的东西(但也许我没有在正确的地方搜索)。

此外 - 当 sendTimeout 设置为较大的值(比如 10 分钟)时,看起来从服务器发送到客户端的所有附加消息都“卡住”了 - 客户端永远不会收到,并且在达到发送超时之前不会抛出异常。此外,我遇到一个奇怪的现象,即任何客户端与托管 IIS 应用程序公开的任何服务之间都没有通信 - 直到我重置 IIS。尽管这与此处描述的先前问题有关,但我不是 100% 确定。

在客户端绑定中设置 MaxBufferSize 和 MaxReceivedMessageSize 属性似乎可以解决这两个问题。

请让我知道您是否对此类问题有任何经验,以及您是否可以在此处了解 WCF 幕后的实际情况。