webservice方法内用了session,asp.net调用时注意问题
可搜索相关:ASP.NET WebService 中使用 ASP.NET_SessionId
当前问题是:我们写了WebService给客户调用,第一个方法是登陆,传入用户名和密码,成功后在Webservice内会用session保存当前登陆的用户,登陆成功后调用第二个方法查询数据,会判断session是否存在当前登陆的用户。
调用问题:登陆没有问题。但是调用查询数据方法总是有错误。
问题分析:调用登陆方法后,session是存在服务器端的,会像客户机器写入cookie,cookie内存的是服务器上的sessionID
因为在调用第二次方法时候 需要将这个sessionID传给服务器去验证当前session。
这里用CookieContainer就可以保存住当前cookie就可以了
可参考文章:http://www.jb51.net/article/28316.htm
rzWS.DYInterface proxy = new rzWS.DYInterface(); System.Net.CookieContainer Cookies = new System.Net.CookieContainer(); proxy.CookieContainer = Cookies; string state = proxy.UserLogin("用户名", "密码"); if (state.Contains("登录成功!")) { DataSet ds = proxy.GetWWHourData("2014-12-01", "2014-12-02"); }