2010-06-21 23 views
4

J'obtiens des valeurs AfterReceiveRequest et que vous voulez utiliser que BeforeSendReply dans WCF. S'il vous plaît aidez-moi, comment je peux le faire. Je travaille dans des fichiers de projet C#. Je ne peux pas utiliser Seesion, ViewState ici. Je peux utiliserdéfi WCF (dans la méthode AfterReceiveRequest de IDispatchMessageInspector Interface)

champs statiques, mais ce ne sera pas une bonne solution. S'il vous plaît donnez-moi la meilleure solution pour cela.

Voici quelques lignes de mon code.

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. 
     } 

Répondre

7

Voilà à quoi sert la valeur correlationState. Fondamentalement, quel que soit l'objet que vous revenez de AfterReceiveRequest(), il vous sera à nouveau transmis sur le paramètre correlationState de BeforeSendReply().

bâton Juste toutes les informations dont vous avez besoin dans un objet et le passer autour de cette façon.

+0

Merci Tomasr ... –