【问题标题】:Why is the cookie I set in the server not showing in the client?为什么我在服务器设置的cookie没有显示在客户端?
【发布时间】:2017-05-31 15:59:21
【问题描述】:

我无法读取我在服务器上设置的客户端上的 cookie。

我正在使用 C#/MVC 并在控制器之外处理 cookie 逻辑。

我传入了响应,并且在我从控制器调用此方法后可以看到它已设置,但是一旦响应发送到客户端,此 cookie 不存在。

在控制器中,我这样调用 SetCookie 方法:

CookieHelper.SetCookie(Response);

我也尝试过传入System.Web.HttpContext.Current.Response,但无济于事。

我调用的方法是:

public class CookieHelper {

    public static void SetCookie(HttpResponseBase Response)
    {
        HttpCookie cookie = new HttpCookie("jayscookie");
        cookie.Value = "a much longer string than this";
        cookie.Expires = DateTime.Now.AddDays(7);
        Response.Cookies.Add(cookie);
    }

}

我也试过HttpResponseWrapper
我也试过System.Net.Cookie而不是HttpCookie

我的 IIS 会话状态设置由 Web.Config 中的这一行表示:

<sessionState mode="StateServer" stateConnectionString="tcpip=127.0.0.1:42424" cookieless="false"/>

我试过没有cookieless="false"

IIS 中此应用程序的 Cookie 设置部分是:

模式:UseCookies 姓名:ASP.NET_SessionId 超时:20(分钟)

我访问了以下并尝试了解决方案:
Why is my cookie not set?
Cookies not getting set in c#
Why are the cookies not being set when doing a Redirect?
Cookie not setting in asp.net mvc
How to set cookie value?
HttpWebRequest/Reponse return cookies sent

以及几个微软文档页面,例如:
https://msdn.microsoft.com/en-us/library/ms178194.aspx

有什么我遗漏的,或者我显然没有考虑到的任何基本概念吗?在客户端设置 cookie 可以正常工作,只是不在服务器上设置。

【问题讨论】:

  • 在响应中发送到浏览器的cookies对吗?但是当它们被发回给您时,在下一个请求中,它们会在请求中找到。
  • 你在做重定向吗?这是 cookie “消失”时的常见情况。
  • @Tasos K.,我没有做重定向。
  • @JesseMoreland,它们没有被发回,因此不在请求中。 (这就是我发现这一切发生的原因。)
  • StateServer 是否配置在 127.0.0.1:42424 并且 ASP.NET 状态 service 是否正在运行?您是否尝试过InProc(默认)首先调试它是代码级别还是配置?

标签: c# asp.net asp.net-mvc cookies


【解决方案1】:

cookie.Value 字符串在我的应用程序中是一个不同的值。应用程序中的值太大,超出了 cookie 大小的限制。我将不得不想出一种不同的方法,但这就是问题所在。

Cookie 的大小限制约为 4KB,供任何可能觉得此信息有用的人参考。

【讨论】:

    【解决方案2】:

    服务器端不能直接访问客户端,反之亦然。抱歉解释不好,但我在火车上

    【讨论】:

    • 我知道这一点。我正在尝试通过浏览器检查客户端。不过还是谢谢
    猜你喜欢
    • 1970-01-01
    • 2011-10-18
    • 2018-07-24
    • 2013-01-25
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    • 1970-01-01
    • 2019-03-04
    相关资源
    最近更新 更多