在Chrome中无法在IE中运行的持久性Cookie

时间:2019-03-18 13:37:42

标签: c# asp.net cookies persistent

我有一个捕获用户信息的表单。 我将信息保存到持久性Cookie中,请参见代码:

HttpCookie _EmpInfoCookies = new HttpCookie("_EmpInfoCookies"); 
_EmpInfoCookies["PF-MemberName"] = Firstname.Value;
_EmpInfoCookies["PF-MemberSurName"] = Surname.Value;
_EmpInfoCookies["PF-MemberEmail"] = MemberEmail.Value;
_EmpInfoCookies["PF-Username"] = item3_text_1.Text;
_EmpInfoCookies["PF-PWD"] = PWDRegistration.Text;
_EmpInfoCookies.Expires = DateTime.Now.AddDays(1);
Response.Cookies.Add(_EmpInfoCookies);

然后,我加载并使用外部电子商务付款系统(Payfast)并处理客户付款。 成功的交易将使用我的Web服务器和应用程序(与我的解决方案一起显示的页面)打开预定义的URL。 在此页面中,我阅读了具有以下代码的cookie:

if (!IsPostBack)
{
  string PF_Name = "";
  string PF_Surname = "";
  string PF_Email = "";
  string PF_Username = "";
  string PF_PWD = "";
  HttpCookie _EmpInfoCookies = Request.Cookies["_EmpInfoCookies"];

  if (!string.IsNullOrEmpty(_EmpInfoCookies.Values["PF-MemberName"]))
  {
    PF_Name = _EmpInfoCookies.Values["PF-MemberName"].ToString();
  }
  if (!string.IsNullOrEmpty(_EmpInfoCookies.Values["PF-MemberSurName"]))
  {
    PF_Surname = _EmpInfoCookies.Values["PF-MemberSurName"].ToString();
  }
  if (!string.IsNullOrEmpty(_EmpInfoCookies.Values["PF-MemberEmail"]))
  {
    PF_Email = _EmpInfoCookies.Values["PF-MemberEmail"].ToString();
    item3_email_1.Value = PF_Email;
  }
  if (!string.IsNullOrEmpty(_EmpInfoCookies.Values["PF-Username"]))
  {
    PF_Username = _EmpInfoCookies.Values["PF-Username"].ToString();
    item2_text_1.Value = PF_Username;
  }
  if (!string.IsNullOrEmpty(_EmpInfoCookies.Values["PF-PWD"]))
  {
    PF_PWD = _EmpInfoCookies.Values["PF-PWD"].ToString();
  }

现在,在开发中测试此过程时,它可以正常工作。 在生产中,它在Chrome中也可以完美运行,但在Internet Explorer中崩溃:Cookie值为null

0 个答案:

没有答案