问题是这样的:
在ISS里同一网站下有2个虚拟目录A跟B,A里面的程序是用VS2003写的,B里面的程序是VS2005写的.服务器已经安装了Microsoft .NET Framework 2.0,A、B均可运行.问题是:要从A里面Send.aspx页面传Session到B里面的Recieve.aspx页面,
怎样才能实现这2个页面共享Session.
请高手指教!问题解决可再给100分!
在ISS里同一网站下有2个虚拟目录A跟B,A里面的程序是用VS2003写的,B里面的程序是VS2005写的.服务器已经安装了Microsoft .NET Framework 2.0,A、B均可运行.问题是:要从A里面Send.aspx页面传Session到B里面的Recieve.aspx页面,
怎样才能实现这2个页面共享Session.
请高手指教!问题解决可再给100分!
解决方案 »
- 跨应用程序域stream读取的奇怪问题,求解惑
- 求C#的组合算法(如1-34共多少种组合,列出)
- 如何从01,02,03,4567中取到4567并分隔为45,67
- 字符与整型转换
- 如何调用API将后台窗口激活到最前面
- 在一个控件的某一事件执行过程中,如何屏蔽掉该控件的其它事件响应。
- c#中如何实现日期加一天数得到另一日期
- 问一个不小的问题,三个月了都还没解决,网上到处都找不到资料,(是关于自定义窗体的).不知道"思归","孟子"之类的高手在不,望能帮上我
- 关于一个将int数组转化成字符数组的小函数
- 如何锁定计算机,屏蔽系统(windows)功能键?winfrom实现?
- 关于XML的查询
- 有关发送消息的时效设置
从而实现session共享 不过据说比较慢且不能做IIS集群
你的是两个站点(或者两个虚拟目录)肯定没问题.
只不过我从来没这么做过 呵呵
cookie.Domain 设置成一样的郁闷或IP即可
一般的数据传输就用URL,
这样以后扩展也很方便的,
全球各地的服务器都行。
------------
/// <summary>
/// write cookie value
/// </summary>
/// <param name="CookieName">cookie name</param>
/// <param name="Nvc">NameValueCollection</param>
/// <param name="days">cookie date</param>
/// <param name="Domain">Domain</param>
/// <returns>bool</returns>
public static bool WriteCookie(string CookieName, NameValueCollection Nvc, int day,int Hours, string Domain)
{
bool ReturnBoolValue = false;
if (Nvc != null && !string.IsNullOrEmpty(CookieName))
{
HttpCookie httpCookie = new HttpCookie(CookieName);
for (int i = 0; i < Nvc.Count; i++)
{
httpCookie[Nvc.GetKey(i)] = Nvc.Get(i);
} int Time = 0; if (day != 0)
{
Time = 24 * day;
} httpCookie.Expires = DateTime.Now.AddHours(Time + Hours);
if (!string.IsNullOrEmpty(Domain))
{
httpCookie.Domain = Domain;
}
HttpContext.Current.Response.Cookies.Add(httpCookie);
ReturnBoolValue = true;
}
return ReturnBoolValue;
}
B读Cookies
-------------------
/// <summary>
/// get cookie
/// </summary>
/// <param name="CookieName">cookie name</param>
/// <returns>NameValueCollection</returns>
public static NameValueCollection GetCookie(string CookieName)
{
NameValueCollection Nvc = new NameValueCollection();
if(!string.IsNullOrEmpty(CookieName))
{
Nvc = HttpContext.Current.Request.Cookies[CookieName].Values;
}
return Nvc;
}
在A中写:
NameValueCollection NV=new NameValueCollection();
NV.Add("UserName","lxsfg");
NV.Add("Password","123456");
WriteCookie("UserInfo", NV, 1, 2, "CSDN.NET");
在B中读:
NameValueCollection NV=GetCookie("UserInfo");
另外在本地测试时如果指定域的话必须更改host文件用你指定的域来访问,否则是取不到Cookies的,你可以先把域设为空 或者拿到公网上测一下