为什么我的WebService中的函数使用了EnableSession=true,客户端访问该函数时还是不保持Session?(内祥)

liuspcn 2003-09-25 09:37:05
我的Web Service中有一个计数器函数,定义了EnableSession=true。
我直接在浏览器中打开Web Service页测试时,返回是累计的(正常)。
但是当我AspClient访问WebService是,即使在同一个页面中测试该计数器函数,每次返回都是1(我想是不是也应该是累计的?或者如何实现累计,就和单独测试Web Service一样)。

我的问题可能出在哪里?谢谢!
...全文
78 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
saucer 2003-09-26
  • 打赏
  • 举报
回复
you need to pass a valid CookieContainer

localhost.Service1 WS = new localhost.Service1();
WS.CookieContainer = new CookieContainer();
....

liuspcn 2003-09-26
  • 打赏
  • 举报
回复
Web Service:

[WebMethod(EnableSession=true)]
public string UHC()
{
if (Session["HitCounter"] == null)
{
Session["HitCounter"] = 1;
}
else
{
Session["HitCounter"] = Int32.Parse(Session["HitCounter"].ToString()) + 1;
}
return "您已经访问这个服务器 "+Session["HitCounter"].ToString()+" 次了。";
}
[WebMethod(EnableSession=false)]
public string UAC()
{
if (Application["HitCounter"] == null)
{
Application["HitCounter"] = 1;
}
else
{
Application["HitCounter"] = Int32.Parse(Application["HitCounter"].ToString()) + 1;
}
return "服务被访问 "+Application["HitCounter"].ToString()+" 次。";
}

===================================
Client:

private void Page_Load(object sender, System.EventArgs e)
{
if (Session["MyWebService"] == null)
{
localhost.Service1 WS = new localhost.Service1();
Session["MyWebService"] = WS;
}
}

private void Button1_Click(object sender, System.EventArgs e)
{
localhost.Service1 WS = (localhost.Service1)Session["MyWebService"];
Label1.Text = WS.UHC();
}

private void Button2_Click(object sender, System.EventArgs e)
{
localhost.Service1 WS = (localhost.Service1)Session["MyWebService"];
Label2.Text = WS.UAC();
}

请帮我试试。Application["HitCounter"] 正常;Session["HitCounter"] 不正常。
panyee 2003-09-25
  • 打赏
  • 举报
回复
http://developer.ccidnet.com/pub/disp/Article?columnID=340&articleID=32324&pageNO=1
jhnhu 2003-09-25
  • 打赏
  • 举报
回复
请贴代码

12,165

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 Web Services
社区管理员
  • Web Services社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧