【发布时间】:2013-04-28 23:05:46
【问题描述】:
我正在使用 C# 中的 WebServices 制作一个项目。我想问你,我怎样才能给从Client到Web Service的变量赋值?
例如:
在 Web 服务中,我有一个变量和两个方法,getVariable() 和 setVariable(bool a);
bool var = false;
[WebMethod]
public void setVariable(bool a)
{
var = a;
}
[WebMethod]
public bool getVariable()
{
return var;
}
这就是我的网络服务的样子(很简单,因为我正在学习)。
我的客户: //在客户端中,我将 Web 服务添加为服务引用并添加了以下代码:
ServiceReference.ServiceSoapClient obj = new ServiceReference.ServiceSoapClient();
private void Form_Load(object sender, EventArgs e)
{
obj.setVariable(true);
label1.Text = obj.getVariable().ToString();
}
当我加载表单时,label1.Text 不等于“True”,而是等于“False”!!这意味着它没有执行此代码:obj.setVariable(true);
我的教授在课堂上说 WebService 现在“已满……”(但我听不太清楚),他说您必须找到一种方法使 WebService “满……”
有人可以帮我吗?
【问题讨论】:
-
他可能说的是有状态的,而不是无状态的。 stackoverflow.com/questions/988819/stateful-webservice
-
不是一个好方法,仅供学习:试试
static bool var = false;看看有什么不同 -
那将是一个非常糟糕的方法,尤其是出于学习目的。
-
Var 是一个关键字。不要将变量命名为与关键字相同的名称,即使它不会引发错误。只是一个好习惯。
-
是的@flup,它是有状态的......
标签: c# web-services