读书笔记摘要-本机WCF之间交互的绑定和地址

1、本机交互的特点是消息无需跨越防火墙和主机。且操作系统平台相同。

2、同台主机WCF交互方式分为:

第一、跨越主机进程交互

第二、跨越应用程序域但在同一进程内交互

第三、在同一应用程序域内交互

截至到本版本WCF并未提供进程内的消息传输协议。因其不适用,WCF开发小组放弃了进程内消息交互协议的想法。以上考虑优先IPC。

3、IPC(Inter-Process-Communication)进程间通信,概念源于UNix系统,主要解决进程间通信的问题。

在WIN32系统中IPC的实现方式主要有:

第一、使用剪贴板,进程间共享,容易理解发布缺点是使用频繁导致资源争用,性能不高。

第二、匿名管道和命名管道,通过在通信双方建立管道即可通过管道读写信息,达到交互目的。管道是进程用来通信的共享内存区域,一个金叉往管道吸入信息,其他的进程可以从管道中读取信息。管道又分为匿名和命名二种。匿名的最初用于本地系统中父进程和子进程的通信。命名的可在不用系统的进程中使用。匿名管道是单向传输,命名的可以双向。管道可以在以比特流形式传送任意数量的数据,命名管道还可以将数据集合到称为消息的数据块中。命名管道甚至具有通过网络连接多进程的能力。Windows9X不支持创建命名管道。只能在WindowsNT内核的操作系统上创建。过程大概是:服务进程负责创建管道,客户进程连接管道。服务进程可创建多个实例,以支持多个客户进程。

第三、使用邮件槽,广播式通信,在WIN32提供的新方法,可在不同的主机间交换数据。实现跨网络,WIN9X不支持。必须运行在Windows NT/2000/XP/vista/7/8.

第四、TCP/IP。遵守通信标准具备消息管道的所有功能。

第五、COM/DCOM,通过COM系统代理存根方式进行进程间数据交互,只能表现在对接口函数调用时传送数据,通过DCOM可在不同主机间传送数据。

第六、内存映射文件。在系统核心区域开辟一块内存,每个进程把这块内存映射到主机可以访问的虚拟内存地址中,

4、netNamedPipeBinding绑定:本机交互性能最佳的绑定,使用IPC命名管道。通信双方只能部署在同一主机

备注:WCF二个机制限制namedPipeTransportBindingElement在本机上,其一安全标识符不能访问命名管道,另外命名管道的名字随机生成且存放在共享内存中。

netNamedPipeBinding相关属性见附图:

原文地址:https://www.cnblogs.com/professional-NET/p/12663307.html