我可以在支持多个客户端的 WCF 服务中使用命名管道绑定吗?
为了准备开始我的第一个 WCF 项目,我一直在阅读一些内容,并在 Juval Lowy 的书(编程 WCF 服务)中看到了这样的说法:
在WCF中,使用IPC的服务只能接受来自同一IPC的调用 机器。因此,您必须指定显式本地 计算机名称或 localhost 为计算机名称,后跟唯一的 管道名称字符串:
网络。管道://localhost/MyPipe
您可以打开一个 命名管道每台机器只能使用一次,因此不可能有两个命名管道 管道地址在同一台机器上共享管道名称。 I
这是否意味着如果我使用命名管道绑定,每个端点只能有一个客户端连接?
I have been doing some reading in preparation for starting my first WCF project and have come across this statement in Juval Lowy's book(Programming WCF Services):
In WCF, services that use IPC can only accept calls from the same
machine. Consequently, you must specify either the explicit local
machine name or localhost for the machine name, followed by a unique
string for the pipe name:net. pipe: //localhost/MyPipe
You can open a
named pipe only once per machine, so it is not possible for two named
pipe addresses to share a pipe name on the same machine. I
Does this mean that I can only have one client connection per endpoint if I use a named pipe binding?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
不,您可以有多个连接。管道类似于 TCP 连接:服务器有一个地址(IP + 端口),多个客户端可以连接到它(使用自己的 IP + 端口)。您可以拥有服务器可以处理的四元组
。管道也会发生类似的情况 - 服务器管道名称将是唯一的(基于名称),但客户端“端点”具有不同的名称(可能是 Guid),并且它是对。
必须是唯一的,因此您可以使用
、
、
, ...No, you can have multiple connections. A pipe is similar to a TCP connection: the server has an address (IP + port), and multiple clients can connect to it (with their own IP + port). You can have as many quadruples
<SIP, SPort, CIP, CPort>
as the server can handle. A similar thing happens with pipes - the server pipe name will be unique (based on the name), but the client "endpoint" has a different name (likely a Guid), and it's the pair<SName, CName>
which needs to be unique, so you can have<SName, CName1>
,<SName, CName2>
,<SName, CName3>
, ...每个端点只能有一台主机,但可以有多个客户端连接到同一端点。
You can only have one host per endpoint but you can have multiple client connecting to the same endpoint.