如何修复" Cookie未通过SSL发送(4720)" ASP.NET MVC?

时间:2018-01-23 10:11:08

标签: asp.net-mvc session web-config httpcookie tempdata

1.Tester测试我的ASP.NET MVC网站并报告" Cookie未通过SSL发送(4720)"的问题。

2.他们让我通过在Web.config中添加<httpCookies httpOnlyCookies="true" requireSSL="true" />解决此问题,然后按照说明进行操作。

3.当我运行并测试我的网站时,Session和TempData在更改页面时为空的问题。下面的代码显示了我如何设置Session和TempData。

3.1当用户转到&#34; Home / Index&#34;时,我设置了Session和TempData。

public class HomeController : Controller
{
   public ActionResult Index()
   {
      TempData["class"] = "A";
      TempData.Keep();

      Session["status"] = "NO";

      return View();
   }
}

3.2当用户将页面更改为&#34; Admin / User&#34;我得到TempData [&#34; class&#34;]和Session [&#34; status&#34;]但两者都是null。

public class AdminController : Controller
{
   public ActionResult User()
   {
      string userclass = TempData["class"] != null ? TempData["class"].ToString() : "";

      string userstatus = Session["status"] != null ? Session["status"].ToSring() : "";

      UserModel usermodel = new UserModel(userclass, userstatus);
      return View(usermodel);
   }
}
  1. 如果我从Web.config中删除<httpCookies httpOnlyCookies="true" requireSSL="true" />并重新测试它的工作。但它仍然存在问题&#34; Cookie未通过SSL发送(4720)&#34;当测试人员测试这个网站时。
  2. 如何解决这个问题?

    P.S。抱歉英语技能不好。

1 个答案:

答案 0 :(得分:2)

如果您将Cookie设置为通过SSL安全发送,则必须在IIS Express中启用SSL才能使用此功能。 当您为Web主机选择SSL选项时,Visual Studio会配置所有必要的内容(例如服务器证书和设置)。

Enable SSL in Visual Studio

你会发现here有关它的完整教程。