.net-3.5 - WCF 回调 channel 被过早处置?

标签 .net-3.5 wcf callback

我的应用程序正在使用带有回调 channel 的 net.tcp WCF 服务。由于某种原因,我无法发送事件回调。这就是我正在做的事情(所有代码都在服务器端):

初始化时:

OperationContext Context { get; protected set; }
...
Context = OperationContext.Current;

事件发生时:

var callback = Context.GetCallbackChannel<IServiceCallbackContract>();
callback.SomeMethod();

此操作在 SomeMethod() 上失败,并出现以下异常:{"无法访问已处置的对象。\r\n对象名称: 'System.ServiceModel.Channels.ServiceChannel'。"}

显然,即使客户端仍然能够使用直接(非回调) channel 与服务器通信,某些东西也会处理回调 channel 。这很奇怪。我应该保留哪个对象才能发出回调?是否必须在某个线程中运行?

最佳答案

Configure Tracing并查看是什么异常导致您的 channel 出现故障。

关于.net-3.5 - WCF 回调 channel 被过早处置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/866151/

相关文章:

.net - 如何引用附加属性作为数据绑定(bind)的来源?

c# - 我需要更改asp :Login control button的样式和控件使用

Azure 故障排除 HTTP 500 : Validate user in memberhsip provider is not called

c# - 在 WCF 的代码中将 IncludeExceptionDetailInFaults 设置为 true

c++ - 如何改进c风格的函数回调系统?

.net3.5 应用程序与 .net 框架 4

c# - Assembly.GetType 显式接口(interface)实现上的 TypeLoadException

c# - WCF 从引用程序集返回某种类型的对象

Javascript,addEventListener 回调函数立即执行并且只执行一次?

javascript - `setImmediate()` 和 `setTimeout()` 的计时如何受进程性能的约束?