2008-10-20 83 views
2

是否anywone知道什么时候在WCF ServiceHost的一个UnknownMessageReceived事件会被解雇?WCF未知的消息接收事件

我有一些代码,我捕捉到断陷带UnknownMessageReceived事件,但即使我发布一个错误信息到特定的服务,我从来没有得到过的事件。

约亨

+0

您使用哪种绑定? – jezell 2008-10-20 12:38:36

+0

我正在使用net.tcp绑定。 – Jochen 2009-12-28 15:12:36

回答

-1

我猜(不知道虽然)这意味着你(后)未在合同中定义的消息。

0

有一个blog entry由文龙东(是的,我知道),可能你指出正确的方向。我相信文龙在MS的WCF团队。

1

当服务在通道上接收到消息时,通道堆栈顶部的ChannelDispatcher对象查询每个关联的EndpointDispatcher对象,以确定哪个端点可以处理该消息。如果没有一个EndpointDispatcher对象可以接受该消息,则WCF运行时将引发承载该服务的ServiceHost对象上的UnknownMessageReceived事件。第3章,使应用程序和服务稳健“,介绍如何处理此事件。 ©(Microsoft®Windows® Communication Foundation Step by Step作者John Sharp)。 http://download.microsoft.com/download/f/c/7/fc7d048b-b7a5-4add-be2c-baaee38091e3/9780735623361_MSWindowsCommFoundationSBS_ch13.pdf

我想站起来这个事件太 - 没有成功。通常情况下(在客户端)我有一个错误的消息异常。

2

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

注意双斜线

这项服务是在WPF应用程序托管。正因为如此,我还发现这个事件是在与主/ UI线程不同的线程中引发的。