C#Web服务和全局变量

时间:2013-06-14 11:38:14

标签: c# web-services

我在将我的全局变量用于客户端应用程序时遇到问题。

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

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服务中使用全局变量吗?任何帮助将不胜感激。

谢谢!

2 个答案:

答案 0 :(得分:3)

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

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

如果您计划同时拥有更多客户端,还请阅读有关线程安全的一些主题。

答案 1 :(得分:2)

即使看起来你在调用Web服务时实际上正在使用类,但事实并非如此。 Web服务不知道变量的概念。你所能做的只是调用方法。