2017-02-16 1 views
0

Mit Blick auf Kanäle explizit in WCF erstellen, tun Sie dies:Wie verwendet ChannelFactory (WCF/C#) eine Schnittstelle als Typ?

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

Warum darf ich die Kanalfactory als Schnittstelle zu ‚Typ‘? Ich weiß, dass die IService Schnittstelle eingerichtet werden muss, um dies zu ermöglichen. Was macht ChannelFactory hinter den Kulissen, um dies zu ermöglichen?

Antwort

1

Intern erzeugt ChannelFactory<TChannel> ein Objekt vom Typ ServiceChannelProxy, die aus System.Runtime.Remoting.Proxies.RealProxy leitet, so dass sie eine über die transparent proxyTChannel Schnittstelle erstellen.

+0

Es ist lustig, dass WCF auf .net Remoting basiert ... Ich wusste das nicht. –

+1

Während .NET Remoting als eine verteilte Technologie tot ist, ist ein Großteil seiner Infrastruktur absolut Kern von .NET (einschließlich aller AppDomain Sachen). Nicht sicher, wie viel davon im .NET-Core noch verloren geht. – tomasr

Verwandte Themen