netTcpBinding 行为 - 重新连接

发布于 2024-09-19 09:41:42 字数 269 浏览 6 评论 0原文

我有一个使用 netTcpBinding 的 WCF 服务。 问题是该服务的主机并不总是处于活动状态,因此当客户端 只要服务器在线,尝试使用该服务就会成功。 当服务器重新启动时,客户端必须重新建立通道(导致其 netTcpBinding) 使用 httpBinding 可以解决问题,但我无法使用此绑定。 我的问题是: 有什么方法可以在连接到服务时导致 netTcpBinding 像 basicHttpBinding 一样“起作用”(行为???)(服务代理的每次使用都会导致新的连接建立)?

谢谢, 丽然

I have a WCF Service using netTcpBinding.
the problem is that the host of this service not always active , so when a client
tries to use the service it will succeed as long as the server is on-line.
when the server re-starts the client must re-establist the channel (cause its netTcpBinding)
using httpBinding will solve the problem but i cant use this binding.
my question is :
Is there any way to cause netTcpbinding "act" like basicHttpBinding when connecting to the service (behavior ???) (every use at the service proxy cause new connection establishment) ??

Thanks,
Liran

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

客…行舟 2024-09-26 09:41:42

如果您使用相同的代理,则不会。代理架构只能创建一次通道。在 Net.Tcp 中,通道绑定到连接。因此,如果您想为每个调用打开新连接,只需在每次调用该服务时创建新代理即可。这会影响您的性能,因为建立 net.tcp 连接的成本很高。

更好的方法是重新设计代码并包装代理访问。包装器将通过创建新代理并调用新代理上的方法来处理操作调用期间的异常。

No if you use same proxy. Proxy by architecture can create channel only once. In Net.Tcp the channel is bound to connection. So if you want to open new connection for each call simply create new proxy each time you call the service. This will affect your performance because establishing net.tcp connection is expensive.

The better way is to redesign your code and wrap your proxy access. Wrapper will handle the exception during operation call by creating new proxy and calling the method on the new proxy.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文