C# 在Castle Windsor WCF设施中,如何访问端点地址?

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

我正在WCF客户端应用程序中成功使用Castle Windsor WCF Integration Facility连接到服务器并发出服务请求:

_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;