问题标签 [net.tcp]
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.
wcf - 没有兼容的 TransportManager 错误
回答
这是一个配置问题。
我们在应用程序中有两个服务。在出现问题之前,这两个服务都具有匹配且运行良好的显式绑定配置。一项服务将被删除,因此开发人员删除了显式绑定配置,忘记了 .NET 4.0 提供默认(和不同)绑定。
无论哪个服务首先被击中,它的设置都不会与任何其他设置不兼容(因为它是第一个)并且会很好。随后加载的服务将具有不同的绑定设置并被 TransportManager 拒绝。
明显的间歇性是由于我们只关注剩余的一项服务,认为另一项服务不再存在。监控实用程序仍在访问已删除的服务,有时会在我们在配置更改后重新加载其他服务之前进入。
原始问题
首次在 IIS 中启动服务时出现间歇性错误。如果我对任何配置进行空白更改并重新加载,那么大约 50% 的时间服务会正常运行。一旦它起来,它很好去。但是下次我们部署到这个盒子时,我们会重新开始俄罗斯轮盘赌。
我们已经查看了有关相同错误的其他论坛帖子,但到目前为止还没有提出明确的解决方案。我们花了一段时间才意识到我们尝试的配置更改实际上并没有影响问题,因为仅仅一个空格更改就足以让它重新开始并让它在部分时间工作。似乎 TransportManagerTable 内部存在某种竞争条件,当服务无法启动时它可能是空的?不确定,尝试进行一些跟踪或其他内容,以便为我们提供有关 TransportManagerTable 实例中内容的更好信息。
没有为 URI 'net.tcp://box:10101/DEV/AwesomeService.svc' 找到兼容的 TransportManager。这可能是因为您使用了指向虚拟应用程序之外的绝对地址,或者端点的绑定设置与其他服务或端点设置的不匹配。请注意,同一协议的所有绑定在同一应用程序中应具有相同的设置。说明:执行当前 Web 请求期间发生未处理的异常。请查看堆栈跟踪以获取有关错误及其源自代码的位置的更多信息。
异常详细信息:System.InvalidOperationException:没有为 URI 'net.tcp://box:10101/DEV/AwesomeService.svc' 找到兼容的 TransportManager。这可能是因为您使用了指向虚拟应用程序之外的绝对地址,或者端点的绑定设置与其他服务或端点设置的不匹配。请注意,同一协议的所有绑定在同一应用程序中应具有相同的设置。
源错误:在执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来识别有关异常起源和位置的信息。
堆栈跟踪:
[InvalidOperationException:没有为 URI 'net.tcp://box:10101/DEV/AwesomeService.svc' 找到兼容的 TransportManager。这可能是因为您使用了指向虚拟应用程序之外的绝对地址,或者端点的绑定设置与其他服务或端点设置的不匹配。请注意,同一协议的所有绑定在同一应用程序中应具有相同的设置。]
System.ServiceModel.Channels.TransportChannelListener.ThrowTransportManagersNotFound() +8955459 System.ServiceModel.Channels.TransportChannelListener.SelectTransportManagers() +16199511 System.ServiceModel.Channels。 TransportManagerContainer.Open(SelectTransportManagersCallback selectTransportManagerCallback) +71
System.ServiceModel.Channels.TcpChannelListener`2.OnOpen(TimeSpan timeout) +182
System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan timeout) +789
System.ServiceModel.Dispatcher.ChannelDispatcher.OnOpen(TimeSpan timeout) +375[InvalidOperationException:'net.tcp://box:10101/DEV/AwesomeService.svc' 上的 ChannelDispatcher 与合同 '“IAwesomeService”,“ILoggingService”' 无法打开其 IChannelListener。]
System.ServiceModel.Dispatcher .ChannelDispatcher.OnOpen(TimeSpan 超时) +16199205
System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan 超时) +789 System.ServiceModel.ServiceHostBase.OnOpen(TimeSpan 超时) +126
System.ServiceModel.Channels.CommunicationObject.Open(TimeSpan 超时) ) +789
System.ServiceModel.HostingManager.ActivateService(String normalizedVirtualPath) +287
System.ServiceModel.HostingManager.EnsureServiceAvailable(String normalizedVirtualPath) +1132[ServiceActivationException:服务'/DEV/AwesomeService.svc'由于编译过程中的异常而无法激活。异常消息是: 'net.tcp://box:10101/DEV/AwesomeService.svc' 上的 ChannelDispatcher 与合同 '"IAwesomeService", "ILLoggingService"' 无法打开其 IChannelListener..] 系统。 Runtime.AsyncResult.End(IAsyncResult 结果) +890624
System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult 结果) +180062
System.Web.AsyncEventExecutionStep.OnAsyncEventCompletion(IAsyncResult ar) +107版本信息:Microsoft .NET Framework 版本:4.0.30319;ASP.NET 版本:4.0.30319.1
wcf - 是否可以在同一端口上使用 net.tcp 端口 80 和 IIS 来提供 WCF/WAS 服务?
TCPPortSharing 服务是否允许我在与 IIS 的端口 80 相同的端口上使用 WAS 激活的基于 TCP 的服务?
下图显示了 net.tcp 在 808 端口。我可以把它改成 80 端口吗?如果答案是“否”,那么我是否误解了 tcpportsharing 服务的好处?
.net - 如何在 IPSec 中启用 WCF net.tcp?
我正在尝试使用 WCF.NET NET-TCP 协议从一个 Web 应用程序连接到另一个 Web 应用程序。这个 net.tcp 协议在 IIS 中启用,在我的例子中使用的是 TCP 808 端口。我已经在服务器中配置了 IP 过滤器,但它会阻止两个应用程序之间的连接,除非我完全禁用 IP 过滤器。
这是我尝试添加的规则,但它不起作用:
使用 TCPView,当连接被阻塞时显示:
我如何允许这种连接?谢谢!
c#-4.0 - WCF:TCP.NET 上的多个绑定
我正在尝试在 IIS 7.5 下建立一个具有多个 tcp.net 绑定的网站。
由于该服务位于负载均衡器后面,因此我需要该服务的多个端点:
log.o1881.no/log/service.svc
log.core1.o1881.no/log/service.svc
当我在 web.config 中配置时,这适用于 http 绑定:
将以下 tcp.net 绑定添加到站点时会出现以下错误消息:
808:log.o1881.no
808:log.core1.o1881.no
“/Log”应用程序中的服务器错误。
此集合已经包含一个带有方案 net.tcp 的地址。此集合中的每个方案最多可以有一个地址。如果您的服务托管在 IIS 中,您可以通过将“system.serviceModel/serviceHostingEnvironment/multipleSiteBindingsEnabled”设置为 true 或指定“system.serviceModel/serviceHostingEnvironment/baseAddressPrefixFilters”来解决问题。参数名称:项目
我还尝试将其添加到 web.config:
然而,这不起作用。
由于该服务将部署在多台服务器上,我非常希望能够通过配置和 IIS 设置来完成这项工作,而不是在代码中。
是否可以这样做,或者是否有另一种方法来处理这种情况(由于负载平衡,http 和 net.tcp 上有多个绑定名称)?
c# - WCF 使用 net.tcp 绑定
我正在运行 Windows 7 64 位。我正在尝试托管将在 IIS7 上使用 Windows 安全性(net.tcp 绑定)的 WCF 服务。我正在运行的服务是一个非常简单的框架应用程序,到目前为止它可以很好地使用 HTTP 和 HTTPS。(我终于让 HTTPS 工作了,我只是想添加另一个绑定——NET.TCP。)
我已将 IIS 配置为启用 net.tcp:我添加了一个带有绑定信息“808:*”的 net.tcp 绑定。我的“高级设置 -> 启用的协议”字段设置为“https,net.tcp”。
整个解决方案(包含服务应用程序和一个同时使用 http 和 https 的客户端应用程序)可以在http://petio.org/2011/06/29/MagicEightBall.zip找到。在服务 Web.config 中,可以在http://petio.org/2011/06/29/MagicEightBall/Web.config找到其副本,
我有三个端点:http、https 和 net.tcp。现在 http 和 https 工作正常,但我已经注释掉了 net.tcp 端点。当我取消注释时,它会破坏 http 和 https,然后当我导航到http://localhost/MagicEightBall/MagicEightBallService.svc时,我看到了错误:
不支持协议“net.tcp”。
我究竟做错了什么?所有代码都发布在上述链接上,或者您可以通过ftp://petio.org/2011/06/29/MagicEightBall/浏览解决方案。
顺便说一句,我已经激活了“Windows Communication Foundation Non-HTTP Activation”,并确保“Net.Tcp Listener Adapter”服务正在运行。
任何帮助是极大的赞赏。
谢谢,
杰伊·沙利文
wcf - 使用 TcpClientCredentialType.Windows 时的加密强度是多少?
以下绑定使用什么加密算法和密钥长度?
wcf - 在共享提供程序上托管 WCF 服务
我正在尝试在共享托管服务器上访问我的 WCF 服务,我可以使用该服务,但是当我尝试调用该服务时,我得到“调用者未通过服务身份验证”错误。
客户端 app.config
服务 app.config
有人知道如何解决这个问题吗?谢谢。
windows-services - 无法连接到 net.tcp://localhost... TCP 错误代码 10061
参考有关 Windows 服务中 WCF 服务的视频教程,我创建了一个示例 WCF 服务并在 Windows 服务中使用 netTcpBinding 托管该服务。(因为我希望这个 WCF 服务作为 Windows 服务运行)
它是一个简单的服务,可以添加/删除/加载员工详细信息,并由 Windows 窗体应用程序使用。当我构建整个解决方案(包括 wcf 服务 + Windows 服务 + 客户端应用程序)时,它运行良好,但是当我想验证时我的客户没有直接引用解决方案中的项目,所以我从我的解决方案中排除了这两个服务(wcf+windows)。它停止工作并抛出错误,阅读:
无法连接到 net.tcp://localhost:8010/EmployeeService.Service1/。连接尝试持续了 00:00:02.0180000 的时间跨度。TCP错误代码10061:无法建立连接,因为目标机器主动拒绝它127.0.0.1:8010。
可能有助于回答的重点:
- WCF 服务和 windows 服务具有相同的 app.config
- Windows 服务作为服务运行
这是我的客户端 app.config
任何帮助将不胜感激....
wcf-binding - 使用 net.tcp 绑定发布 WCF 服务时出错
我正在尝试在启用 IIS 7.5 net.tcp 上发布 WCF 服务,但出现以下错误:
找不到与具有绑定 NetTcpBinding 的终结点的方案 net.tcp 匹配的基地址。注册的基地址方案是 [http]。
附上web.config
.net - IIS7.5 上托管的 WCF netTcpBinding 停止工作
我有一个简单的 .NET 4 WCF 服务,我在 IIS7.5 上本地托管。最初我使用它托管httpBinding
它工作正常。然后我将它切换到netTcpBinding
,在web.config
相应地更改文件后也可以正常工作。但是今天它决定停止工作。我根本无法使用测试客户端连接到服务,得到:
URI: net.tcp://localhost/case/service.svc/mex Metadata contains a reference that cannot be resolved: 'net.tcp://localhost/case/service.svc/mex'. The message could not be dispatched because the service at the endpoint address 'net.tcp://localhost/case/service.svc/mex' is unavailable for the protocol of the address.
我检查了(仍然)安装了非http激活服务;net tcp 监听服务正在运行;net.tcp 在站点的启用协议列表中;我跑了servicemodelreg.exe -ia
;我也重新跑了aspnet_regiis.exe -i
;最后我检查了网站上的 net.tcp 绑定。
如果我运行,netstat
我可以看到端口上正在侦听某些东西,但我无法连接到它。
这让我发疯,因为今天早上它工作得很好(就像上周一样),但现在不是了。
编辑:如果我在 IE 中访问该服务,那么我可以看到它抛出以下异常:
但是查看web.config
文件似乎并非如此: