Вызов WCF (в методе AfterReceiveRequest интерфейса IDispatchMessageInspector)

Я получаю некоторые значения в AfterReceiveRequest и хочу использовать это в BeforeSendReply в WCF. Пожалуйста, помогите мне, как я могу это сделать. Я работаю в файлах проекта 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 ответ

Решение

Для этого и используется значение correlationState. По сути, любой объект, который вы возвращаете из AfterReceiveRequest(), будет снова передан вам по параметру correlationState объекта BeforeSendReply().

Просто вставьте всю необходимую информацию в объект и передайте ее таким образом.

Другие вопросы по тегам