在web开发时给web service传递客户端cookie

作者:互联网   出处:控件中国网   2014-11-05 19:05:23   阅读:1

在web开发时给web service传递客户端cookie

在web开发页面中调用web服务,默认情况下web服务收不到客户端的cookie,如果需要cookie,可以通过给webservice实例的CookieContainer属性赋值。

如下代码片段:

view sourceprint?01 static void AddCookie(ref BBS.Services.UpgradeService service) 

02 {  

03     CookieContainer cookies = new System.Net.CookieContainer(); 

04     string cookieDomain = new Uri(service.Url).Host; 

05     foreach (string cookieKey in HttpContext.Current.Request.Cookies.AllKeys) 

06     { 

07         System.Net.Cookie netCookie = new System.Net.Cookie(cookieKey, HttpContext.Current.Request.Cookies[cookieKey].Value, "/", cookieDomain); 

08         netCookie.Expires = DateTime.Now.AddMinutes(5); 

09         cookies.Add(netCookie); 

10     }             

11       

12     service.CookieContainer = cookies; 

13 }

需要注意的是必须给netCookie设置过期时间,否则cookie传不到web服务中。

 

Copyright© 2006-2015 ComponentCN.com all rights reserved.重庆磐岩科技有限公司(控件中国网) 版权所有 渝ICP备12000264号 法律顾问:元炳律师事务所
客服软件
live chat