编写自定义渠道时,如何获取将要调用的服务方法的名称。
例如,如果操作合同如下所示,我怎么知道是否正在调用Method1
或Method2
?
[OperationContract]
void Method1( int data );
[OperationContract]
void Method2( int data );
频道本身不对Message执行任何主要功能,它只是添加了一些额外的数据。我正在寻找的是根据被调用的方法自定义通道中添加的额外数据(或者更具体地说,如果它用某些东西装饰)。
答案 0 :(得分:0)
如果您要创建传输渠道,那完全取决于您。您有责任获取传入的字节并将其转换为一条消息,然后将其推送到通道堆栈中。
如果要创建协议通道,只需访问OperationContext(应该在该时间设置)并检查IncomingMessageHeaders属性并获取操作标头。这是用于映射到OperationContract的内容。
你到底想做什么,以及你想在什么时候做?你准备创建什么样的频道?你的问题没有足够的信息来真正给出答案。