2

グローバル変数をクライアント アプリケーションで動作させるのに問題があります。

Web サービスには、次のコードがあります。

public class MyWebService: System.Web.Services.WebService
{
    public static string test = String.Empty;
    ....

私のクライアント側には、次のコードがあります。

MyService.MyWebService client = new MyService.MyWebService()
{
    client.test="test";
};

私が受け取っているクライアント側で

"MyWebService には test...etc の定義が含まれていません";

Web サービス内でグローバル変数を使用できますか? どんな助けでも大歓迎です。

ありがとう!

4

2 に答える 2

3

クライアントから見えるようにするには、Web サービスでゲッター (またはセッター) を公開する必要があります。すなわち:

public class MyWebService: System.Web.Services.WebService
{
    public static string test = String.Empty;
    public string GetTest() {
      return test;
    }
    public void SetTest(string test) {
      MyWebService.test = test;
    }
}

より多くのクライアントを同時に持つことを計画している場合は、スレッドセーフに関するトピックも読んでください。

于 2013-06-14T11:52:16.030 に答える
2

Web サービスを呼び出すときに実際にクラスを使用しているように見えますが、そうではありません。Web サービスは、変数の概念を認識していません。できることは、メソッドを呼び出すことだけです。

于 2013-06-14T11:54:29.133 に答える