我正在编写一个示例控制台服务主机,我想插入WCF堆栈,以便在新消息到达时能够将消息打印到控制台,即使此时服务不会处理它(因为服务正在以前的电话上工作)。 这是基于我的假设,即到达的消息由WCF排队,这是正确的吗?
此外,如果这很重要,我正在使用netTcpBinding。
答案 0 :(得分:0)
您可能需要为此编写自定义渠道。查看WCF Channels Mini Book
答案 1 :(得分:0)
您可以编写自定义通道,并将其插入到通道堆栈中的任何位置。排队发生在ChannelListeners中,它位于每个频道之间:
ChannelListener_1 - > Channel_1 - > ChannelListener_2 - >频道_2 - >等
因此,如果您要插入自己的频道监听器/频道,您可以挂钩到您需要的过程的任何部分。但请注意,消息内容可能无法读取,直到它进一步向下堆栈并被解密。