【问题标题】:WCF Unknown Message Received EventWCF 收到未知消息事件
【发布时间】:2008-10-20 09:54:46
【问题描述】:

有谁知道 WCF ServiceHost 上的 UnknownMessageReceived 事件何时会被触发?

我有一些代码在其中捕获了 Faulted en UnknownMessageReceived 事件,但即使我向特定服务发布了错误消息,我也从未收到该事件。

乔辰

【问题讨论】:

  • 我正在使用 net.tcp 绑定。

标签: wcf events


【解决方案1】:

当我错误地指定了这样的地址时,我遇到了这个事件: http://localhost:4000/SomeService//mex

注意双斜杠

服务托管在 WPF 应用程序中。因此,我还发现此事件是在与主/ui 线程不同的线程上引发的。

【讨论】:

    【解决方案2】:

    当服务在通道上接收到消息时,通道堆栈顶部的 ChannelDispatcher 对象会查询其每个关联的 EndpointDispatcher 对象以确定哪个端点可以处理该消息。如果没有任何 EndpointDispatcher 对象可以接受该消息,WCF 运行时会在承载该服务的 ServiceHost 对象上引发 UnknownMessageReceived 事件。第 3 章,使应用程序和服务健壮”,描述了如何处理此事件。 ©(Microsoft® Windows® 通信基础一步一步由约翰夏普)。 http://download.microsoft.com/download/f/c/7/fc7d048b-b7a5-4add-be2c-baaee38091e3/9780735623361_MSWindowsCommFoundationSBS_ch13.pdf

    我也试图发起这个事件 - 没有成功。在常见情况下(在客户端)我有一个错误的消息异常。

    【讨论】:

      【解决方案3】:

      董文龙(是的,我知道)有一个blog entry 可能会为您指明正确的方向。我相信文龙在 MS 的 WCF 团队。

      【讨论】:

      • 这不是我想要的。问题是事件没有被触发。我最好的猜测是 IIS 托管和自定义托管之间存在差异。如果有人可以确认...
      【解决方案4】:

      我猜(虽然不确定)这意味着您收到(返回)您的合同中未定义的消息。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-12-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-03-13
        • 1970-01-01
        相关资源
        最近更新 更多