调试 WCF 回调服务

本文关键字:服务 回调 WCF 调试 | 更新日期: 2023-09-27 18:34:57

我正在按照本教程实现WCF回调服务。

问题是我在客户端的回调方法永远不会被调用。

 public void NotifyClient(object sender, EventArgs args)
    {
        INotificationCallback callback = OperationContext.Current.GetCallbackChannel<INotificationCallback >();
        callback.OnStepReached(((ModuleEventArgs)args).Step);
    }

回调在服务器端调用,但永远不会到达客户端。我不知道出了什么问题,我唯一得到的是一段时间后的超时异常。

我在服务器端的回调是System.Runtime.Remoting.Proxies._TransparentProxy

我想知道是否有一种简单的方法来调试此行为。

调试 WCF 回调服务

如果尚未启用,则可能需要考虑启用 WCF 跟踪,以确保服务器确实在调用客户端回调方法 (callbackInstance.OnCallback((;

作为参考,以下链接提供了 WCF 跟踪的概述:
http://msdn.microsoft.com/en-us/library/ms733025.aspx

服务协定和回调协定应该是单向的。链接的教程缺少这一点。因此,将操作协定更新为[OperationContract(IsOneWay = true)]