我正在努力让基本的WCF服务通过net.tcp协议(protocol)工作。我用VS2017创建了一个新的WCF项目,并且根本没有更改模板代码。在web.config中设置绑定(bind)以分别使用netTcpBinding和mexTcpBinding后,我收到以下错误:Error:CannotobtainMetadatafromnet.tcp://localhost/WcfSecurityTest/Service1.svcIfthisisaWindows(R)CommunicationFoundationservicetowhichyouhaveaccess,pleasecheckt
OntheInternet,ifyouneedfast,secureserver-to-servercommunication,andyoucanspecifywhichfirewallportsareopen,NetTcpBindingcanproveveryvaluable.a)文本是否暗示使用某些其他连接协议(protocol)(例如HTTP)我们不需要检查打开的防火墙端口?b)为什么NetTcpBinding只对服务器到服务器的通信有用,而对客户端到服务器的通信没有用?谢谢 最佳答案 a)当您部署到企业时,您通常无法控制他们的
我正在为公司的CRM软件开发基于WCF的API。future将用于开发多平台应用。我知道WCF提供命名管道、TCP和HTTP传输,但现在似乎一切都在使用RESTfulHTTP,我是否应该为支持这三种传输的复杂性而烦恼? 最佳答案 REST是Web的架构风格,而不仅仅是没有SOAP的XML文件。WCF是一个框架,其唯一目的是将开发人员从底层平台/协议(protocol)/规范堆栈中抽象出来。WCFREST是一个糟糕的工具包补充,可让您公开POX服务。RESTfulness需要分发、缺少session、自定义媒体类型的设计或现有媒体类型
我已经在两台机器上试过了,但无法弄明白。我已按照此处(http://msdn.microsoft.com/en-us/library/ms731053.aspx)的说明进行操作,并确保TCP监听器服务正在运行。但是,在站点应用程序旁边,我看到“Unknown(net.tcp)”状态。对于IIS中启用的协议(protocol),它们被列为“http,net.tcp”。我对net.tcp的绑定(bind)是“808:*”,应用程序池是.NET4.0集成的。让我知道我可以提供哪些信息。此外,在尝试连接时,它说无法连接到mex端点。我的服务端点代码如下。任何帮助表示赞赏。谢谢。....
我想在端口0上启动一项服务(启用Mex和mexTCP绑定(bind))-再次使用网络TCP绑定(bind)在端点上为契约(Contract)“IHelloWorldOne”说。来self服务的App.config请注意,端口为0-这基本上让Windows为端点提供一个开放端口,这意味着“mex”端点可以获得一个随机端口。在我的客户端上:FindCriteriafindCriteria=FindCriteria.CreateMetadataExchangeEndpointCriteria(typeof(IHelloWorldOne));//FindCriteriafindCriteria
我正在使用nettcpbinding绑定(bind)(目前具有可靠的消息传递)。当服务器执行serviceHost.Close()时,TCP连接应该完全关闭,因此应该通知客户端。如何将此事件与WCFHook?(请注意,这与因网络问题而关闭的TCP连接不同,此时可靠的消息传递可能能够重新创建连接)如果服务器调用serviceHost.Abort(),那么客户端将永远无法向它发送另一条消息,因此我希望在所有重试超时后都会引发一些事件。(IChannel.Faulted和IChannel.Closing事件不会在客户端触发) 最佳答案 似
我在本地计算机上托管了一个WCF服务作为Windows服务。现在我正尝试在客户端中添加服务引用(再次在我的本地开发机器上),但出现错误Metadatacontainsareferencethatcannotberesolved:'net.tcp://localhost:8523/Service1'.Couldnotconnecttonet.tcp://localhost:8523/Service1.Theconnectionattemptlastedforatimespanof00:00:02.0011145.TCPerrorcode10061:Noconnectioncouldbem
我已向防火墙添加规则以打开我的WCF服务应用程序(自托管basic-http)使用的TCP端口8080。当我检查“所有应用程序...”而不是规则中我的应用程序的特定exe文件时,一切正常。我用谷歌搜索了这个问题,发现守护进程(SMSvcHost.exe)用于托管该服务,但仅在使用net-tcp而我使用basic-http时。客户端是WindowsPhone7应用程序,所以我不能使用net-tcp。但是basic-http使用的是什么守护进程?当我的服务应用程序首次启动时,以编程方式将此规则添加到防火墙的最简单方法是什么? 最佳答案
我有一个Windows服务正在调用同一服务器上的IIS托管WCF。在我们的虚拟服务器崩溃并且必须重建之前,它一直运行良好。从那时起,当Windows服务尝试调用此WCF服务时,我一直收到“tcp错误代码10060”错误。它给出的IP不存在,它是一个旧IP地址。IP地址未在代码或配置文件中的任何位置指定。我可以从那台机器和我调用它的任何其他机器上的IE启动WCF服务。有人告诉我DNS没问题。还有什么我遗漏的地方吗? 最佳答案 事实证明这是一个DNS问题,我们在DNS中有2个条目。 关于wi
我创建了一个使用NetTCP绑定(bind)的WCF服务。我的服务被客户端访问,保存它的回调channel并在以后使用它来调用客户端(这是一个持久的tcp连接)。一切正常,但如果我决定突然终止客户端-我会收到一个我无法捕获的SocketException(“现有连接被远程主机强行关闭”)。我已经尝试过什么?我在使用回调channel的每个方法中添加了try-catch子句,甚至在上层-启动我的服务的WCFHost中。我已经尝试获取channel和回调channel并添加一个处理channel故障事件的方法:varchannel=OperationContext.Current.Chan