【发布时间】:2013-08-12 16:21:29
【问题描述】:
所以我有一个客户端服务器在 C# 上使用带有 WCF 的 netNamedPipes。
当我将回调设置为OneWay = true 时,它们可以工作,但是如果我尝试使回调返回一个值,它们就会停止工作,该值不会返回给服务器,而是调用客户端回调函数。
错误:
SOURCE:
mscorlib
TARGET:
Void HandleReturnMessage(System.Runtime.Remoting.Messaging.IMessage, System.Runtime.Remoting.Messaging.IMessage)
MESSAGE:
Object reference not set to an instance of an object.
为什么会这样?可能是一些超时问题?我怎样才能使这个超时计时器在代码上更大?(没有配置文件)。
谢谢
编辑: 我要做的是: 我的客户端调用服务器,我调用的服务器方法保存回调通道,当我需要执行回调时(在该方法/函数之外,在不依赖于该方法/函数的其他函数中)我执行回调。
【问题讨论】:
-
这看起来不像是超时。请检查
CallContext是否设置正确。 -
回调 = OperationContext.Current.GetCallbackChannel
();