CTOCIO IT专家网

天极传媒 比特网 | 天极网 | IT专家网 | IT商网 | 52PK游戏网 | 手机天极 | IT分众 |
IT专家网搜索

您现在的位置: IT专家网 > Web服务子站 > 技巧

WebService状态管理

作者: ,  出处:5ivb, 责任编辑: 叶江, 
2005-09-09 10:17
  在默认情况下,.NET下的WebService是无状态的。不过可以用ASP.NET提供的状态管理那就是Session和Application。只需使用Webmethod属性的Enablesession子属性就可以了。

  在默认情况下,.NET下的WebService是无状态的。不过可以用ASP.NET提供的状态管理那就是Session和Application。这使得WebService下状态管理变得简单了,只需使用Webmethod属性的Enablesession子属性就可,即[WEBMETHO(ENABLESESSION=TRUE)]

  服务端代码如下:

[WebMethod(EnableSession= true)]
public client GetClientState()
{
cstate = (client)Session["clientstate"];
if (cstate == null)
{
cstate = new client();
Session["clientstate"] = cstate;
}

return cstate;
}
[WebMethod(EnableSession = true)]
public void click()
{
client c = this.GetClientState();
c.requsest++;

}

}
public class client
{
public int requsest;
}

  先创建一个CLIENT类,用于表示客户端连接的次数,GetClientState()方法用于返回当前用户的状态.

  客户端代码如下:

partial class Form1 : Form
{
webstate.Service ws ;
webstate.client c;
public Form1()
{
InitializeComponent();
ws = new testwebstate.webstate.Service();
ws.CookieContainer = new System.Net.CookieContainer();
//设置COOKIE容器,以便代理对象能正确使用COOKIE来提供状态信息
}

private void button1_Click(object sender, EventArgs e)
{
ws.click();//每点击一次,当前用户的CLIENT STATE的REQUEST就++
c = ws.GetClientState();//获取状态信息
MessageBox.Show("you have click" + c.requsest + "times");
}
}

共3页。 1 2 3 :
  • 本文关键词:

网友评论

笔名 
请您注意:遵守国家有关法律、法规,尊重网上道德,承担一切因您的行为而直接或间接引起的法律责任。    IT专家网友拥有管理笔名和留言的一切权利。
  • 周排行榜
  • 月排行榜

邮件订阅

       

该文章的读者还阅读了

天极服务 | 关于我们 | 网站律师 | 加入我们 | 联系我们 | 广告业务 | 友情链接 | 我要挑错