我有一个WCF项目,我在Windows服务中托管(实际上我使用topshelf),它运行正常。我必须进行更改,但这会导致初始化花费更长时间。当服务在执行WCF服务构造函数时超时时,这会导致问题。 我想减少构造函数中的代码量,然后当服务打开时,我会进行更长时间的运行初始化。我在WCF ctor中注册了open事件,但它似乎没有被调用。
public WCFService()
{
this.Faulted += WCF_Faulted;
this.Opened += WCF_Opened;
...
和事件处理程序
void WCF_Opened(object sender, EventArgs e)
{
}
void WCF_Faulted(object sender, EventArgs e)
{
}
我猜我没有正确实现这一点。
我能够在servicehost中捕获已打开的事件,但后来我不知道如何访问该实例(它是一个单例)来调用它上面的方法。
想法?