问题标签 [wcf-binding]
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.
data-binding - O/RM 工具中的数据绑定支持,如何检测
我想验证从 O/RM 工具生成的类(单个实体或集合)是否与数据绑定兼容。
我读到 WCF 中支持的数据绑定类型是:一次,一种方式,两种方式,一种方式来自 WCF 中的源。但是“老派”.NET 1.1 数据绑定怎么样?
在代码中检查有什么样的数据绑定支持看起来有点困难。您在运行时和设计时数据绑定支持方面也存在差异。在阅读一些网页时,我阅读了不同类型的实现:实现 IList、IComponent、INotifyPropertyChanged、IBindingList.... pffffff 我不知道在哪里寻找...
wcf - 可以为 NetNamedPipeBinding 设置 maxReceivedMessageSize 的最大大小是多少?
我注意到 2147483647 似乎是 maxReceivedMessageSize 的流行选择,但这是限制吗?
wcf - 什么是公钥基础设施
我需要知道什么是公钥基础设施。我需要知道这是否与发送请求和响应有关,就像 WCF 中的 WsHttpbinding 一样。
wcf - 使用 Windows 服务中托管的 WCF 服务
我编写了 WCF 服务并托管在 Windows 服务中。我需要知道如何在我的客户端应用程序中使用这个 Windows 服务。
笔记:
我写了网络管道绑定服务。
编辑:
如何编写用于网络管道绑定的客户端应用程序?
tcp - 如何通过 TCP 端口托管 WCF?
如何通过 TCP 端口托管 WCF 服务,如何通过这些 TCP 端口监听和使用服务?
也就是说,除了 net.tcp 绑定之外,还有什么方法可以使用 TCP 端口来托管和消费吗?
c# - 带有 webHttpBinding 的 WCF 服务;404错误
当参数不匹配时,配置如下框的服务是否会抛出 404?在这种情况下,参数是一个复杂类型,每次调用 SearchJson 方法都会返回一个 404...(它甚至允许使用 WebInvoke 选项并且没有 UriTemplate 吗?)
该服务已启动并正在运行(我可以使用“生成您的客户端 ..?wsdl”-stuff 调用测试页面)
服务方法配置为:
任何想法如何解决这个问题?
顺便提一句。这是我用于测试的...无论我更改什么参数,都会返回 404 ...当我将 WebInvoke 更改为 WebGet 并使用简单类型作为参数(如字符串)时,我只能触发不同的行为...然后我得到一个 405
这是配置:
debugging - WCF WSDualHttpBinding 的错误消息:无法自动调试服务
我目前正在研究一种解决方案,该解决方案需要同时使用 Silverlight 3.0 和标准 .NET 应用程序作为使用 WCF 实现的 Web 服务的客户端。Silverlight 客户端使用的 Web 服务部分需要双工功能,因此我在服务的一个端点上使用(仍然相当新的)PollingDuplexBindingElement。但是,PDBE 仅受 Silverlight 支持,因此我为其他客户端的服务添加了第二个端点,它使用 WSDualHttpBinding 作为绑定。这些其他客户端实际上并不需要双工,但由于服务器端合同的某些部分需要双工,因此像 WSHttpBinding 这样的标准单工绑定将不起作用。
由于奇怪的 Silverlight WCF 要求(例如,将 HTTP 500 错误响应重写为 HTTP 200 等),我正在通过自定义 ServiceFactory 类初始化我的服务,其关键部分如下所示:
而且(有点令人惊讶)一切正常。Silverlight/PollingDuplex 客户端都获得了整洁的回调(比 SL 2.0 好得多!),并且 .NET/WSDualHttp 客户端都可以很好地与服务器通信。
除了一件事。当我尝试调试应用程序时,Visual Studio 在通过 WSDualHttp 遇到第一个单纯形调用时会抛出以下对话框:
“无法自动调试 'MyCompany.Service'。无法调试远程过程。这通常表示 Web 服务器上尚未启用调试。有关详细信息,请参阅帮助。”
错误消息不是很准确。事实证明,您可以通过任何双工(单向)调用对 Web 服务进行逐步调试,但不能通过任何单工(双向)调用。
现在,当然,我已经检查以确认我的 web.config 设置正确,即其中包含以下行:
我一直在反对这个问题足够长的时间,以至于我整理了一个相当简单的复制品(可在此处获得)来证明这个问题。据我所知,当您在 IIS 中使用 WSDualHttpBinding,然后尝试对该服务进行标准单工调用时,它就会出现。
我最初的解决方法是将 Duplex 从服务的 Simplex 部分中分离出来,此时一切正常——但代价是客户端上的对象模型重复,这并不理想。所以我把所有东西都移回了一个服务,但不能调试任何东西肯定是一件痛苦的事。
有没有其他人遇到过这个问题,或者有什么建议?
FWIW,我在MSDN上或多或少地发布了同样的问题,没有任何建议,并且我尝试使用 MS Connect打开一个错误,但同样,该季度还没有任何帮助。
有任何想法吗?
java - 在 Java 中使用 WCF WsHttpBinding WebService
我正在尝试让 Java 客户端与 WCF wshttpbinding WebService 进行通信。但我无法这样做。电话要么挂起,要么我得到“musunderstoodheader excetions”。
我的 Web 服务只是默认的 Visual Studio 生成的“WCF 服务库模板”。
我的 Web 服务客户端只是一个空白的 IntelliJ 项目,使用“添加 Web 服务客户端”生成相应的存根(指定的 Web 服务平台是 JAX-WS 2.X)。
当我将绑定更改为 BasicHttpBinding 时,一切正常。
我尝试过使用 WsHttpBinding 配置,包括关闭安全性,但没有成功。
建议?想法?JAX-WS 2.0 是否仅部分支持 WsHttpBinding?
c# - Windows 窗体和 WCF - 客户端应用程序通信
我们正在开发一个将安装在大约 1,000 名员工个人电脑上的 Windows 窗体应用程序。用户可以同时运行应用程序的多个实例。客户端都在一个 Intranet 上。
应用程序中的更改可能会导致数据库记录更改,而这些更改又必须传达给其他客户端,以便更新它们的 UI。
我们的团队讨论了两种不同的方法:
1.组播包
源客户端修改记录,然后发送一个多播数据包,其中的有效负载发生了变化。其他客户端接收到这个并获取指定的数据。我们需要考虑没有收到数据包的情况,然后主动检索数据。
此时我的问题是客户端如何知道它没有收到数据包?(不知道你不知道什么)这将我们带到某种事件日志中,其中包含数据库中的时间戳,并且 UI 控件跟踪它们的最后一次更新时间。他们成为焦点,检查他们的时间戳,并根据需要进行更新。
其他人说 UI 元素每次进入焦点时都会重新加载(想想 Outlook 中的模式,将控件带到带有 CAB 的堆栈工作区的前面)。并且多播是为了更新他们当前上下文已经改变的客户端。如果他们错过了它,他们将使用陈旧的数据,直到他们改变模式并回来。
2. WCF 和回调
客户端注册 WCF 合同以通过 tcp 绑定进行回调。与此相关的主要技术问题是服务器维护许多打开的套接字。我们已经阅读了它是如何在传统意义上不打开的,它被置于休眠状态最多 90 秒,然后在那时重新建立。我们还阅读了有关 Windows 2003 Server 机器可以处理的最大打开连接数,以及如何在注册表中修改它。
如果我们有 1,000 个到服务器的开放套接字连接,这会分崩离析吗?
如果有人遇到过同样的情况并尝试或评估过 WCF 方法,我们很乐意听到。
silverlight - 如何在服务器端增加 MaxStringContentLength 以进行二进制 Http 绑定
我最近将一些 Silverlight 3 WCF 服务转换为使用新的二进制 http 绑定。长字符串通常被发送到服务器以在这些服务中进行反序列化,我以前使用它来确保可以正确读取数据。但是,使用新绑定我找不到添加元素的正确位置:
这是一个尝试:
这导致了其他问题——在同一个绑定中使用二进制编码和 textMessageEncoding 似乎不是一个好主意。因此,仅使用二进制编码,如何增加读取器配额以允许反序列化大字符串?