众所周知,WebService的调用是无状态的,即WebService中的变量是不能做到跨方法使用的。但是我们在实际的项目中,难免会遇到跨方法使用某些变量的情况,所以我们应该想办法治好WebService的失忆症,用什么药好呢?
当仁不让,首先应该想到使用Application。Application对于WebService是始终可用的,而且使用起来也非常方便,不需要做任何的配置。
服务器端代码:
public class StateService : System.Web.Services.WebService
{
public StateService()
{
}
[WebMethod]
public string Hello()
{
return "你好," + Application["name"].ToString();
}
[WebMethod]
public void SetName()
{
Application["name"] = "笨笨熊";
}
}
class Program
{
static void Main(string[] args)
{
StateService.StateService firstService = new TestProject.StateService.StateService();
firstService.SetName();
Console.WriteLine(firstService.Hello());
Console.Read();
}
}