.net中WebService如何使用Session

 
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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值