我在将我的全局变量用于客户端应用程序时遇到问题。
在网络服务中,我有以下代码:
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服务中使用全局变量吗?任何帮助将不胜感激。
谢谢!
答案 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服务不知道变量的概念。你所能做的只是调用方法。