【发布时间】:2013-06-03 17:03:40
【问题描述】:
在我的项目中,我有一个服务类。
class KLAService : IKLAService
{
CentralLogic centralLogic;
.....
}
使用这个类,我这样设置ServiceHost:
centralLogic = new CentralLogic();
ServiceHost host = new ServiceHost(typeof(KLAService));
using (host)
{
host.Open();
Application app = new Application();
app.Run(new ConfigurationWPF.MainWindow(centralLogic));
host.Close();
}
可能已经很清楚了,我创建了CentralLogic 类的一个实例。这个实例不仅在 UI 中使用,而且在主机中用于管理我的解决方案中的其他内容。
我现在遇到的问题是在KLAService-class(或host)中设置centralLogic-变量。我不知道该怎么做。我已经阅读了有关插件 Ninject 以及如何在服务中注入对象的信息,但这超出了我的范围,我不禁想到有一个简单的方法。
我怎样才能最好地实现我的目标?
编辑:提出的另一个解决方案是启动 ServiceHost 并让 CentralLogic 在那里创建,而不是相反。这意味着 ServiceHost 需要某种构造函数。我不知道最佳实践是什么,也不知道如何实现这一目标。任何帮助表示赞赏。
【问题讨论】:
标签: c# wcf web-services servicehost