你能从WCF通道堆栈中获得服务方法的名称吗?

时间:2009-02-11 20:16:56

标签: c# .net wcf web-services

编写自定义渠道时,如何获取将要调用的服务方法的名称。

例如,如果操作合同如下所示,我怎么知道是否正在调用Method1Method2

[OperationContract]
void Method1( int data );

[OperationContract]
void Method2( int data );

频道本身不对Message执行任何主要功能,它只是添加了一些额外的数据。我正在寻找的是根据被调用的方法自定义通道中添加的额外数据(或者更具体地说,如果它用某些东西装饰)。

1 个答案:

答案 0 :(得分:0)

如果您要创建传输渠道,那完全取决于您。您有责任获取传入的字节并将其转换为一条消息,然后将其推送到通道堆栈中。

如果要创建协议通道,只需访问OperationContext(应该在该时间设置)并检查IncomingMessageHeaders属性并获取操作标头。这是用于映射到OperationContract的内容。

你到底想做什么,以及你想在什么时候做?你准备创建什么样的频道?你的问题没有足够的信息来真正给出答案。