登陆页面Login.aspx 在本地IIS上运行时是可以注销的
这是Login.aspx创建cookie的代码
 
HttpCookie userCookie = new HttpCookie("abc");
userCookie.Values.Add("globalecmaster", username);
userCookie.Values.Add("AdminId", table.Rows[0]["Id"].ToString());
userCookie.Values.Add("masterflag", table.Rows[0]["Flag"].ToString());
userCookie.Expires.AddDays(1);
userCookie.Path = "/";
userCookie.Domain = "abc.com";
Response.Cookies.Add(userCookie);
当点击Index.aspx页面上的注销按钮时,返回到Login.aspx页面,并且传过去一个值act;
这是Login.aspx中Cookie注销的代码 if (Code.QueryStringStr("act") == "logout")
{
      Request.Cookies["abc"].Expires = DateTime.Now.AddDays(-1);
      Response.Cookies.Add(Request.Cookies["abc"]);
      Response.Redirect("Login.aspx");
 }以上内容,在本地上运行是没有问题的,但是把项目发布完以后,通过FTP发到远程服务器上时,在这样操作就不可以了
具体情况就是Login.aspx页面登陆后转到Index.aspx页面,Index.aspx页面点击注销后返回到Login.aspx页面上,但是这时在打开一个新页面输入Index.aspx时还是能直接跳转到Index.aspx页面.可是使用本地项目输入完Index.aspx页面,判断假如没登陆就可以返回到Login.aspx页面.
这时为什么?难道是项目发到服务器上后,Cookie的保存路径有问题?请线上朋友解答...

解决方案 »

  1.   

    你重新保存一个空Cookies 不就结了
      

  2.   

    问题是本地项目上这么写就没问题  传服务器上 cookie就注销不了
      

  3.   

    up up up  帮忙解决
      

  4.   

    重新设置一个相同名字的cookies 并把值设为0就行了。
      

  5.   

    郁闷啊。我也是这个这类问题,本地IIS测试完全正确
    可是到了服务器就不行了。折腾了两天都没有好
      

  6.   

    Request.Cookies["Cookies的名字"].Expires = DateTime.Now.AddDays(-1);