1

我有一个 silverlight Web 应用程序,如果它选中“让我登录”复选框,我想保存用户凭据。

if (KeepMeSignedIn)
                    {
                        SetCookie("CECrd", userName, password);
                    }

设置cookie功能如下..

private static void SetCookie(string key, string uname, string password)


        {
            string cookieName = "CECrd";
            string oldCookie = HtmlPage.Document.GetProperty(cookieName) as String;
            DateTime expiration = DateTime.UtcNow + TimeSpan.FromDays(2000);
            string cookie = String.Format("{0}={1}={2};expires={3}",key,uname, password, expiration.ToString("R"));
            HtmlPage.Document.SetProperty(cookieName, cookie);
        }

但我无法在浏览器中保存 cookie。请帮帮我。

4

1 回答 1

2

Cookie 由名称-值“对”组成

例如

  • 名称=值
  • 另一个名称=另一个值
  • 过期=某个日期

您的 string.format 有一个带有 2 个等号的属性!

string cookie = String.Format("{0}={1}={2};expires={3}",key,uname, password, expiration.ToString("R"))

生成“{key}={uname}={password};expires={somedate2000daysfromnow}”,这是两个条目:

  • {key}={uname}={密码}; // 无效的
  • expires={somedate2000daysfromnow} // 有效
于 2013-08-12T13:18:45.607 回答