WCF挑战(在IDispatchMessageInspector接口的AfterReceiveRequest方法中)

时间:2010-06-21 11:01:22

标签: wcf wcf-behaviour

我在AfterReceiveRequest中获得了一些值,并希望在WCF中的BeforeSendReply中使用它。 请帮助我,我该怎么做。我正在使用C#项目文件。我不能在这里使用Seesion,ViewState。我可以用

静态字段,但它不是一个好的解决方案。请给我最好的解决方案。

以下是我的代码中的一些行。

public object AfterReceiveRequest(

            ref System.ServiceModel.Channels.Message request,

            System.ServiceModel.IClientChannel channel,

            System.ServiceModel.InstanceContext instanceContext)

        {

             ClassABC abc = new ClassABC();         
 int webServiceID = abc .SetInformation(--//any parameters//--);

            return null;

        }


        public void BeforeSendReply(ref System.ServiceModel.Channels.Message reply,

            object correlationState)

        {

           //here I need webServiceID.
        }

1 个答案:

答案 0 :(得分:7)

这就是correlationState值的含义。基本上,从AfterReceiveRequest()返回的任何对象都将在BeforeSendReply()的correlationState参数上再次传递给您。

只需将您需要的所有信息都粘贴到对象中并以此方式传递。