我无法弄清楚如何获取WCF服务器的所有已打开频道的列表,这是一种非单一类型。我正在创建自己的服务主机:
server = new System.ServiceModel.ServiceHost(typeof(Contracts.Server));
我可以(在频道的上下文中,Contracts.Server类型)获取当前频道:
public Server()
{
OperationContext.Current.InstanceContext. //... do whatever I want with it...
}
但是,从servicehost的上下文中,我如何获得所有通道?
我是否需要在通道创建服务器对象的操作对话框中挂钩打开/关闭事件,并将其添加到我可以从外部管理的频道列表中?
或者有没有办法从ServiceHost
对象访问频道信息?