加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

.net中WebService如何使用Session

发布时间:2020-12-17 00:30:22 所属栏目:安全 来源:网络整理
导读:? WebService代码如下 public class UserInfoService : System.Web.Services.WebService { ? [WebMethod(EnableSession = true)] ? public bool login(string userName,string password) ? { ?? if (Session["user"] != null) return true; ?? if (userName

?

WebService代码如下
public class UserInfoService : System.Web.Services.WebService
{
? [WebMethod(EnableSession = true)]
? public bool login(string userName,string password)
? {
?? if (Session["user"] != null) return true;

?? if (userName == password && userName.Length == 5)
?? {
??? Session["user"] = userName;
??? return true;
?? }

?? return false;
? }

? [WebMethod(EnableSession = true)]
? public void logout()
? {
?? Session.Remove("user");
? }

? [WebMethod(EnableSession = true)]
? public string GetUserName(string id)
? {
?? if (Session["user"] == null) return null;

?? return "User_" + id;
? }

? [WebMethod(EnableSession = true)]
? public User GetUserById(string id)
? {
?? if (Session["user"] == null) return null;

?? User user = new User();
?? user.Id = id;
?? user.UserName = GetUserName(id);
?? user.Password = "123456";

?? return user;
? }
}

用控制台访问这个WebService代码:
static void Main(string[] args)
? {
?? var client = new UserInfoServiceSoapClient();
??

?? Console.WriteLine("Login:");
?? Console.Write("UserName:");
?? var ln = Console.ReadLine();
?? Console.Write("Password:");
?? var lp = Console.ReadLine();

?? if (!client.login(ln,lp)) { Console.WriteLine("Login Failed"); return; }


?? Console.Write("输入UserId:");
?? var userId = Console.ReadLine();
?? var user = client.GetUserById(userId);

?? Console.WriteLine(user.Id);
?? Console.WriteLine(user.UserName);
?? Console.WriteLine(user.Password);
?? Console.ReadKey();
? }
但是Session好像并没起作用,网上查了,说使用CookieContainer
但是这个CookieContainer到底在哪里设置啊?

?

?

?

在webService里面Session默认是不可用的,必须得开启Session才能使用,如
[WebMethod(EnableSession = true)]
public string Login(string name)
{
??? Context.Session["name"] = name;
??? return name;
}
需要在当前方法上启用Session? [WebMethod(EnableSession = true)]

?

?

原文引用,百度知道 地址:http://zhidao.baidu.com/question/255380495.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读