我有一个相当简单的ASP.NET应用程序,在用户登录后设置cookie(实际上是2)。 当我在运行VS2015(又名IIS Express)的应用程序的本地计算机上时,这一切都可以在任何浏览器(我使用IE,Chrome和Firefox测试)中正常工作。 我可以按预期读取cookie,我也可以查看浏览器cookie集合,看看我的cookie是否存在。
但是,当我发布我的项目并将其带到远程IIS(我相信,Windows Server 2012 R2)时,它不再起作用了。
如果我知道要提供什么,我会提供一些进一步的信息 - 我不知道在这方面对于任何想要帮助我的人有什么兴趣 - 所以我知道我可能需要提供一些额外的信息,我只是不知道:)
请告诉我如何帮助您(以及可能遇到同样问题的人)。
更新
我没有添加cookie代码,因为它似乎正在工作(至少在我的本地IIS Express上),但也许我应该为它设置更多的cookie属性以便在远程IIS上工作? / p>
设置Cookie
HttpCookie cookie_cusr = new HttpCookie("app_portal_cusr", JsonConvert.SerializeObject(cusr));
cookie_cusr.Expires = DateTime.Now.AddYears(30);
context.Response.Cookies.Add(cookie_cusr);
阅读Cookie (ClientUser是自定义类)
ClientUser cu = JsonConvert.DeserializeObject<ClientUser>(Request.Cookies["app_portal_cusr"].Value);
应用程序不会抛出任何异常 - cookie没有被设置为,当我检查浏览器cookie集合时以及当我的代码尝试读取它时它不存在(我检查NULL或它会实际上抛出我假设的例外。