调试 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 跟踪,以确保服务器确实在调用客户端回调方法 (callbackInstance.OnCallback((;
作为参考,以下链接提供了 WCF 跟踪的概述:
http://msdn.microsoft.com/en-us/library/ms733025.aspx
服务协定和回调协定应该是单向的。链接的教程缺少这一点。因此,将操作协定更新为[OperationContract(IsOneWay = true)]