WPF客户端使WCF会话保持活动状态

时间:2014-07-06 17:54:59

标签: c# .net wpf wcf

this question一样,我遇到了WCF服务的一些问题。通过在回调和服务中使用多个并发模式,并通过将绑定更改为wsDualHttpBinding来解决这个问题。

现在我有另一个问题:如果我关闭WPF客户端应用程序,我将无法启动另一个实例。它只是在后台运行,永远不会显示窗口。我必须重新启动服务才能再次启动WPF应用程序,这在服务器上运行时是不可行的。

我肯定会在应用程序关闭时关闭代理,使用以下代码:

        try
        {
            if (_proxy != null)
            {
                // Calls some server cleanup.
                _proxy.Disconnect();

                _proxy.InnerDuplexChannel.Close();
                _proxy.Close();

                _proxy = null;
            }

            _context.ReleaseServiceInstance();
            _context.Close();
        }
        catch (Exception ex)
        {
            if (_proxy != null)
            {
                _proxy.InnerDuplexChannel.Abort();
                _proxy.Abort();
                _proxy = null;
            }
        }

是什么原因导致WPF客户端使服务器会话/实例保持活动状态?有没有办法避免它甚至迫使它关闭?

0 个答案:

没有答案