在ServiceHost关闭或停止之前停止所有应用程序操作

时间:2014-01-10 10:13:35

标签: c# wcf msmq servicehost

我有一个继承自ServiceBase类的类。在OnStop方法上,我停止了ServiceHost

protected override void OnStop()
{
    if (this.serviceHost != null)
    {
         this.serviceHost.Close();
    }
}

问题是,我想让应用程序在服务停止之前完成处理来自队列的消息(在ConcurrencyMode.Multiple, InstanceContextMode.Single中使用MSMQ和WCF运行)。有没有办法做到这一点?我试图在队列运行时继续重新启动服务,有时我会丢失数据(可能是一些消息在停止时在操作过程中运行)

1 个答案:

答案 0 :(得分:0)

您是否尝试过RequestAdditionalTime