本地通道是 Windows Communication Foundation (WCF) 传输通道,用于同一应用程序域中的通信。 这适用于客户端和服务在同一应用程序域中运行的情况,必须避免典型的 WCF 通道堆栈(消息序列化和反序列化)的开销。
讨论
LocalChannel 示例由两个项目文件组成:
LocalChannel:当前应用程序域中本地通道的编程表示形式。 在此项目中,发送组件将消息放置在内存中队列中,接收组件将消息从队列中取出以进行接收。
ClientAndService:此项目在控制台应用程序中托管服务,然后运行客户端从同一应用程序域中调用该服务。
本地通道设计跳过通道堆栈和序列化过程以提高速度。 本地传输通道是使用队列实现的,用于将服务调用从客户端传输到服务,并将该值返回给客户端。 示例不序列化参数和返回值,而是复制对象。
设置、生成和运行示例
生成并运行 LocalChannel 解决方案。
服务主机已启动,客户端使用本地通道调用服务。 此时会显示一个控制台窗口,显示服务调用的结果。