2

我在让全局变量在我的客户端应用程序上工作时遇到问题。

在网络服务中,我有以下代码:

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

在我的客户端,我有以下代码:

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

在客户端我收到

“MyWebService 不包含 test...等的定义”;

您可以在 Web 服务中使用全局变量吗?任何帮助,将不胜感激。

谢谢!

4

2 回答 2

3

您必须在 web 服务中公开 getter(和/或 setter)才能对客户端可见。IE:

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 回答