首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WCF netNamedPipeBinding和用于通信的共享内存

WCF netNamedPipeBinding和用于通信的共享内存
EN

Stack Overflow用户
提问于 2013-07-02 23:46:10
回答 2查看 2.9K关注 0票数 2

人们常说,当他们想要两个工作流框架服务交互并共享数据时,netNamedPipeBinding就被用在了工作流框架中。我在谷歌上搜索,发现了许多wcf的netNamedPipeBinding示例,但它们都没有使用netNamedPipeBinding来共享内存进行通信。所以这是我的请求,如果有人知道任何关于wcf netNamedPipeBinding的文章,这些文章指导我如何使用netNamedPipeBinding协议在两个wcf服务之间共享内存,然后请将我重定向到该文章。

我想在同一台pc上运行两个wcf服务,看看两个wcf服务如何共享相同的内存并相互交互。当它将成功,然后我想运行两个wcf服务在两个不同的pc上共享内存?寻求帮助。谢谢

EN

回答 2

Stack Overflow用户

发布于 2013-07-03 01:10:21

你不需要做任何特殊的事情来使用共享内存。WCF netNamedPipeBinding内部使用memory mapped files在同一台计算机上运行的两个进程之间进行通信-这是运行在同一台计算机上的两个进程通过WCF进行通信的最快方式。

请参阅this文章。

然而,同时也有一个限制,因为它使用shared memory object (memory mapped file),所以通信双方都必须在same computer上运行。

要使用WCF跨两台计算机进行通信,您必须使用其他一些绑定:

C# - WCF - inter-process communication

票数 3
EN

Stack Overflow用户

发布于 2013-07-03 00:23:02

基本上与其他WCF通信的使用是相同的,据我所知,内存实际上并不是共享的,但一个进程可以将内容放到内存中,并将它们传递给另一个进程。不同之处在于您如何定义端点。

这是一个服务器终结点定义:

代码语言:javascript
复制
  <system.serviceModel>
    <services>
      <service name="aaa.bbb">
        <endpoint address="net.pipe://localhost/lalala" binding="netNamedPipeBinding" contract="aaa.Ibbb">
          <identity>
            <dns value="localhost" />
          </identity>
        </endpoint>
        <endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
        <host>
          <baseAddresses>
            <add baseAddress="http://localhost:8733/Design_Time_Addresses/aaa/Service1/" />
          </baseAddresses>
        </host>
      </service>
    </services>

这是客户端:

代码语言:javascript
复制
NetNamedPipeBinding nnpb = new NetNamedPipeBinding();
nnpb.MaxReceivedMessageSize = 65536000;

ChannelFactory<aaa.Ibbb> Factory =
                new ChannelFactory<aaa.Ibbb>(nnpb, new EndpointAddress("net.pipe://localhost/lalala"));

aaa.Ibbb proxy = Factory.CreateChannel();

var a = proxy.DoSomething();

使用这些关键字中的任何一个,您可能会找到一些教程。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17429988

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档