ChannelFactory (WCF/C#) 如何使用接口作为类型?
How does ChannelFactory (WCF/C#) use an Interface as a type?
查看在 WCF 中显式创建通道,您可以这样做:
IService channel = new ChannelFactory<IService>(binding, address).CreateChannel();
为什么我可以 'type' 通道工厂作为接口?我知道必须修饰 IService
接口才能实现这一点。 ChannelFactory 在幕后做了什么来实现这一点?
在内部,ChannelFactory<TChannel>
创建一个类型为 ServiceChannelProxy
的对象,它通过 TChannel
接口派生自 System.Runtime.Remoting.Proxies.RealProxy, allowing it to create a transparent proxy。
查看在 WCF 中显式创建通道,您可以这样做:
IService channel = new ChannelFactory<IService>(binding, address).CreateChannel();
为什么我可以 'type' 通道工厂作为接口?我知道必须修饰 IService
接口才能实现这一点。 ChannelFactory 在幕后做了什么来实现这一点?
在内部,ChannelFactory<TChannel>
创建一个类型为 ServiceChannelProxy
的对象,它通过 TChannel
接口派生自 System.Runtime.Remoting.Proxies.RealProxy, allowing it to create a transparent proxy。