草庐IT

wcf-serialization

全部标签

c# - wcf "An existing connection was forcibly closed by the remote host"关闭客户端后

我在关闭客户端程序后收到错误消息“远程主机强行关闭了现有连接”。我添加了这段代码以确保在程序关闭时关闭客户端连接。我还有一个关闭客户端的按钮,该按钮可以正常工作。privatevoidForm1_FormClosing(objectsender,FormClosingEventArgse){try{client.Close();}catch(CommunicationExceptionex){client.Abort();}catch(TimeoutExceptionex){client.Abort();}catch(Exceptionex){client.Abort();throwe

c# - 检查 WCF 服务是否正在运行的最快方法

我有一个本地运行的WCF服务。该服务有一个运行它的默认端口,但如果该端口已被使用,我会动态分配该端口。我在主机中添加了它以使其可被发现:serviceHost.Description.Behaviors.Add(newServiceDiscoveryBehavior());serviceHost.AddServiceEndpoint(newUdpDiscoveryEndpoint());现在我的客户端需要连接到这个主机。在客户端中,我想让它首先尝试默认端口,如果它无法连接到默认端口上的服务,那么它将进行发现。我发现发现大约需要20-30秒,所以我宁愿避免总是这样做,只有当它在默认端口上

.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

Arduino中Serial.print()与Serial.write()函数的区别,以及串口通信中十六进制与字符串的收发格式问题和转换过程详解

1、串口通信中十六进制和字符数据的区别串口收发数据时字符、十六进制、二进制格式详细区分ASCII码查询表格在使用串口发送数据时可以选择字符串(ASCII)发送或者十六进制(Hex)发送,通常情况下我们习惯选用字符串发送数据。在计算机中,数据是以二进制的形式存储的,串口发送的数据,本质上来讲,就是0和1这样的二进制,但是在编译时,可能使用16进制进行表示。对于ASCII码(字符),其本质上也是二进制数据,可以使用16进制表示,可以使用10进制表示,也可以使用字符表示。在串口通讯过程中,是以16进制进行表示,以二进制进行传输的。(即先将字符转化为ASCII码,然后转化为十六进制表示,最后用对应的二

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连接,直到它们超时。创建一个客户端,在上面调用一个方法,然后关闭它是否正常使用?如果你想重新使用连接怎么办?有什么限制?你能从不同的线程同时调用吗?如果不能,是否必须自己做连接池?并且在重新使用连接时,是否必须在调用之前检查连接状态并在出现故障时清理它? 最佳答案 嗯,这是很多问题,情况确实有点复杂。当你创建一个客户端时,你可以通过服务引用来完成它