草庐IT

.net - WCF 双工服务和 TCP 端口耗尽

我正在努力解决这个问题。我正在制作一个特定于业务的消息传递应用程序,它将通过WCF(没有vpns,遍布整个网络)将5000到10,000台机器连接回我们的数据中心。它主要用于警报,我需要能够直接向特定客户端发送消息,WCF允许我使用Duplex契约(Contract)完成所有这些操作,但是对于这么多客户端,它让我开始考虑最大化TCP端口空间65535个端口。我假设所有入站连接都将通过我选择的任何端口进入,但返回客户端的出站连接将分别占用一个端口。我很好奇WCF端口共享服务是否做了任何事情来解决这个问题,或者它是否只有65535个端口到一个IP地址?就此而言,MSNMessenger等如

c# - 无法使用 NET.TCP 绑定(bind)访问 WCF 服务

我已经在这里问过类似的问题:Unabletoaddserviceclientforanet.tcpWCFservice.那个时候问题就解决了。但是现在出现了同样的错误。我的WCF服务配置与上一个问题相同。我再次在这里发布:错误是:TheURIprefixisnotrecognized.Metadatacontainsareferencethatcannotberesolved:'net.tcp://localhost/Service1.svc'.Couldnotconnecttonet.tcp://localhost/Service1.svc.Theconnectionattemptl

wcf - 何时使用双工服务?

嗯,我知道在双工契约(Contract)中,服务可以向客户端发送消息,但我想知道什么时候真正有用。我有一个常见的应用程序,它向服务发送请求以从数据库中获取数据、插入数据...等等。此外,我需要在数据库中存储大约40MB的文件,因此我需要良好的性能。为此,我想使用流式传输模式的net.tcp绑定(bind),但问题是net.tcp双工服务不能使用流式传输模式。所以我想我有一些选择。1.-研究我是否真的需要这种应用程序的双工契约(Contract)。例如,也许在聊天应用程序中,双工契约(Contract)更有意义,因为服务器可能需要在联系人连接时通知客户端......等等。但在访问数据库的

wcf - restart/iisreset 禁用 NET.TCP 协议(protocol)?

我在WindowsServer08sp2上的IIS7中托管WCF服务。该服务托管为自己的网站,并通过NET.TCP端点公开。在发出重新启动/iisreset命令之前,该服务工作正常。重启或iisreset后,当我进行任何服务调用时,我收到以下错误:'System.ServiceModel.EndpointNotFoundException:无法发送消息,因为端点地址'net.tcp://[website]/[service_name].svc'的服务对于该地址的协议(protocol)不可用..'服务器的事件日志显示以下错误:'尝试读取和实例化配置的ProcessHandlerType

wcf - WCF 中的 mexTcpBinding - IMetadataExchange 错误

我想让WCF-over-TCP服务正常工作。我在修改自己的项目时遇到了一些问题,所以我想我应该从VS2008中包含的“基础”WCF模板开始。这是初始的WCFApp.config,当我运行该服务时,WCF测试客户端可以正常使用它:这很完美,没有任何问题。我认为将它从HTTP更改为TCP是微不足道的:将绑定(bind)更改为其TCP等效项并删除httpGetEnabledserviceMetadata元素:但是当我运行它时,我在WCF服务主机中遇到了这个错误:System.InvalidOperationException:在服务Service1实现的契约(Contract)列表中找不到契

c# - WCF 中的 IPv4 远程地址

与HowtogettheIPaddressofaWCFremoteendpoint?相关我正在使用此代码在调用工作流方法时检索远程IP地址:privatestaticstringGetRemoteIP(){varoc=OperationContext.Current;varmp=oc.IncomingMessageProperties;varremp=mp[RemoteEndpointMessageProperty.Name]asRemoteEndpointMessageProperty;returnremp==null?"(unknown)":remp.Address;}然而,我得到

WCF TCP 客户端——关于如何使用它们的基本指南?

我有一个WCF服务,想使用TCP绑定(bind)连接到它。这一切都很好,但是你应该如何处理客户呢?我注意到,如果您为每次调用创建一个新客户端,它不会重新使用该channel并留下一堆TCP连接,直到它们超时。创建一个客户端,在上面调用一个方法,然后关闭它是否正常使用?如果你想重新使用连接怎么办?有什么限制?你能从不同的线程同时调用吗?如果不能,是否必须自己做连接池?并且在重新使用连接时,是否必须在调用之前检查连接状态并在出现故障时清理它? 最佳答案 嗯,这是很多问题,情况确实有点复杂。当你创建一个客户端时,你可以通过服务引用来完成它

.net - 如何找到 NetTcpBinding (WCF) 可用的 TCP 端口(以便服务器可以绑定(bind)到它)

FindthenextTCPportin.Net说明了如何在原始.net中执行此操作,但没有说明如何使用WCF安全地执行此操作。在我的单元测试中,我需要使用NetTcpBinding,我不想硬编码它正在使用的端口。因此,如何让NetTcpBinding在我的ServiceHost中使用时自动选择空闲端口?我怎样才能让它告诉我它选择的端口(或完整端点地址)?或者我如何使用.NET找到几个对服务器绑定(bind)有效的端口?鉴于我的赏金没有带来任何新的答案,我认为我们可以假设没有好的答案。 最佳答案 您不需要推出自己的端口查找逻辑-如果

WCF 元数据包含无法解析的引用

我花了几个小时搜索这个错误,并且我测试了几乎所有它在Google上的内容。我想在C#中使用TCP、.NET4和VS2010访问服务。我有一个非常小的服务:namespaceWcfService_using_callbacks_via_tcp{[ServiceContract(CallbackContract=typeof(ICallback),SessionMode=SessionMode.Required)]publicinterfaceIService1{[OperationContract]stringTest(intvalue);}publicinterfaceICallbac

java - 在 Java 中使用 WCF WsHttpBinding WebService

我正在尝试让Java客户端与WCFwshttpbindingWebService进行通信。但我无法这样做。调用挂起,或者我得到“musunderstoodheaderexpcetions”。我的Web服务只是默认的VisualStudio生成的“WCF服务库模板”。我的Web服务客户端只是一个空白的IntelliJ项目,使用“添加Web服务客户端”生成了相应的stub(指定的Web服务平台是JAX-WS2.X)。当我将绑定(bind)更改为BasicHttpBinding时,一切正常。我试过使用WsHttpBinding配置,包括关闭安全性,但没有成功。建议?想法?JAX-WS2.0仅