我在我的 WPF 应用程序上使用 caliburnMicro。
除了作为 UI 应用程序之外,它也是进程间通信服务器(我们使用WCF
命名管道)。
每个服务主机都注册为单例 ( container.RegisterSingleton(typeof (IMyServiceHost), null, typeof (MyServiceHost));
)。
每个实现都IMyserviceHost
持有WCF
ServiceHost
财产的地方。
在当前状态下,每个服务主机对象请求必须在解析对象后在代码中打开通道。我希望每个服务主机的解析请求都会触发该Open()
属性ServiceHost
以打开服务器端通道(这是来自 IPC 服务器端)。
是否可以使用现有的 Caliburn Micro 方法?
注册码:
container.RegisterSingleton(typeof (IMyServiceHost), null, typeof (MyServiceHost));
然后解析代码:
//Resolve the object
var serviceHost = IoC.Get<IMyServiceHost>();
//Then open the channel
serviceHost.Instance.Open();