2012-05-03 16 views
0

私はこのASMX Webサービスをコーディングしています。クラス変数を使用して、返信する応答メッセージを管理したいと考えています。私は、複数のクライアントがWebサービスを同時に呼び出しても、プライベート変数がクライアント間で共有されず、不規則な振る舞いをしていることを確認したいだけです。ここにサンプルコードがあります:Asmxプライベート変数の可視性

このクラスのすべてのWebサービスでは変数メッセージが使用されています。プレゼンテーションのために単純なメソッドを1つ入れています。

private string message; 

[WebMethod] 
     public DomainResponseMultiple FindAll(string user, string password, EntityEnum entity) 
     { 
      DomainResponseMultiple response; 
      if (Authenticate(user, password, out message) && HasReadPrivileges(user, out message)) 
      { 
       SelectAllTransaction transaction = new SelectAllTransaction(user, entity); 
       response = (DomainResponseMultiple)transaction.Execute(); 
      } 
      else 
      { 
       response = new DomainResponseMultiple(); 
       response.ResponseCode = ResponseCode.Error; 
       response.Message = message; 
      } 
      return response; 
     } 

答えて

2

+0

セッションごとにサービスコールを意味しますか?ユーザーが通話を開始するとセッションが作成され、通話が完了するとセッションが終了します。 – Stainedart

+0

Webサービスを使用している場合 - はい、通話が終了するまで – Shai

1

限り、それは静的ではないとして、あなたが持っているべきではない、それがタイムアウトをご使用の構成に応じてまで、この変数は、彼のセッションに永続的なユーザー、あたりとして、Sessionスコープで利用できるようになります問題。