【问题标题】:How does ChannelFactory (WCF/C#) use an Interface as a type?ChannelFactory (WCF/C#) 如何使用接口作为类型?
【发布时间】:2017-02-16 10:54:14
【问题描述】:

查看在 WCF 中显式创建通道,您可以这样做:

IService channel = new ChannelFactory<IService>(binding, address).CreateChannel();

为什么允许我将通道工厂“键入”为接口?我知道IService 接口必须进行装饰以允许这样做。 ChannelFactory 在幕后做了什么来实现这一点?

【问题讨论】:

    标签: wcf channelfactory


    【解决方案1】:

    在内部,ChannelFactory&lt;TChannel&gt; 创建了一个类型为 ServiceChannelProxy 的对象,它派生自 System.Runtime.Remoting.Proxies.RealProxy,允许它通过 TChannel 接口创建一个 transparent proxy

    【讨论】:

    • 有趣的是,WCF 是基于 .net 远程处理的……我不知道。
    • 虽然 .NET 远程处理作为一种分布式技术已经死了,但它的大部分基础设施绝对是 .NET 的核心(包括所有 AppDomain 的东西)。尚不确定 .NET 核心中消失了多少。
    猜你喜欢
    • 1970-01-01
    • 2011-09-04
    • 1970-01-01
    • 1970-01-01
    • 2016-12-04
    • 1970-01-01
    • 2010-11-08
    • 2013-08-28
    • 1970-01-01
    相关资源
    最近更新 更多