丢失cookie和超时

时间:2011-03-19 13:44:18

标签: c# asp.net

    <authentication mode="Forms">
        <forms path="/" defaultUrl="Default.aspx" loginUrl="Login.aspx" name=".ASPXAUTH" slidingExpiration="true" timeout="3000" cookieless="UseDeviceProfile"/>
    </authentication>

    private void SetAuthticationCookie(string username)
    {
        FormsAuthenticationTicket ticket = new FormsAuthenticationTicket(username, true, 3000);
        string encTicket = FormsAuthentication.Encrypt(ticket);
        HttpCookie myCookie = new HttpCookie(FormsAuthentication.FormsCookieName, encTicket);
        Response.Cookies.Add(myCookie);
    }

它在本地计算机上工作正常但是当我将Web应用程序发送到主机服务器时很快就丢失了cookie,所以如何才能将时间增加两天?

添加了注意事项我使用“fire cookie plugin”进行测试,但我的网站上没有设置cookie,真是太酷了!我不知道为什么?事实上有cookie,因为我关闭Firefox然后再次运行它我的网站从cookie加载数据,但问题是到期时间。

添加了日志跟踪:

HTTP/1.1 200 OK
Date: Sun, 20 Mar 2011 06:19:13 GMT
Server: Microsoft-IIS/6.0
X-Powered-By: ASP.NET
X-Powered-By: PleskWin
Set-Cookie: .ASPXANONYMOUS=6ASaj1gdzAEkAAAAOGU0YTk2NmItNjhiMy00MGIzLTgyYzAtNTc1YThiNmRhNThl0; expires=Sat, 28-May-2011 16:59:09 GMT; path=/; HttpOnly
Set-Cookie: ASP.NET_SessionId=at5qoanwkc31y0xuguomabgw; path=/; HttpOnly
Cache-Control: private
Content-Type: text/html; charset=utf-8
Content-Length: 148363

1 个答案:

答案 0 :(得分:0)

尝试将您的表单“名称”属性更改为其他内容...您是否可以使用类似FireBug(或FireCookie)的内容来检查加载了哪些Cookie(以及有效日期?)

修改
从您的声明中完全删除 路径属性...看看是否有帮助......

<authentication mode="Forms">
    <forms defaultUrl="Default.aspx" loginUrl="Login.aspx" name=".ASPXAUTH" slidingExpiration="true" timeout="3000" cookieless="UseDeviceProfile"/>
</authentication>