C# 在Castle Windsor WCF设施中,如何访问端点地址?
我正在WCF客户端应用程序中成功使用Castle Windsor WCF Integration Facility连接到服务器并发出服务请求:C# 在Castle Windsor WCF设施中,如何访问端点地址?,c#,wcf,castle-windsor,C#,Wcf,Castle Windsor,我正在WCF客户端应用程序中成功使用Castle Windsor WCF Integration Facility连接到服务器并发出服务请求: _container = new WindsorContainer(); _container.Kernel.AddFacility<WcfFacility>(); _container.Register(Component .For<IService>() .AsWcfClient(new
_container = new WindsorContainer();
_container.Kernel.AddFacility<WcfFacility>();
_container.Register(Component
.For<IService>()
.AsWcfClient(new DefaultClientModel(WcfEndpoint.FromConfiguration("Service"))));
// ...
var service = _container.Resolve<IService>();
service.SomeOperation();
我知道我可以通过这种方式检查应用程序配置并获取端点详细信息,但是否可以直接从Castle Windsor代理对象或从配置过程中获取它?好吧,如果您确实必须这样做,有一种方法,但它并不完美:
var service = container.Resolve<IService>();
var meta = (IWcfChannelHolder) service;
var channel = (IClientChannel) meta.Channel;
var address = channel.RemoteAddress;
var service = container.Resolve<IService>();
var meta = (IWcfChannelHolder) service;
var channel = (IClientChannel) meta.Channel;
var address = channel.RemoteAddress;