WCF ServiceHost Close()本身

时间:2015-05-05 09:00:50

标签: wcf servicehost

我有一个提供" Stop()" OperationContract的。 当它被调用时,应该关闭()ServiceHost。

public void Stop()
{
    try
    {
        _serviceHost.Close(TimeSpan.FromSeconds(10));
    }
    catch (CommunicationException comEx)
    {
        Console.WriteLine(comEx.ToString());
        _serviceHost.Abort();
    }
}

当然这是一个问题,因为在尝试关闭ServiceHost时传入的请求仍处于活动状态。我该如何规避这个问题?短时间内分开线程?

public void Stop()
{
    Task.Factory.StartNew(WaitAndKill);
}


private void WaitAndKill()
{
    Thread.Sleep(500);

    _managementServiceHost.Close();
}

0 个答案:

没有答案