C# 为什么我在服务器中设置的cookie没有显示在客户端中?
我无法在服务器上设置的客户端上读取cookie 我正在使用C#/MVC,并在控制器外部处理cookie逻辑 我传入响应,在从控制器调用此方法后可以看到它已设置,但一旦响应发送到客户端,此cookie就不存在 在控制器中,我调用SetCookie方法如下:C# 为什么我在服务器中设置的cookie没有显示在客户端中?,c#,asp.net,asp.net-mvc,cookies,C#,Asp.net,Asp.net Mvc,Cookies,我无法在服务器上设置的客户端上读取cookie 我正在使用C#/MVC,并在控制器外部处理cookie逻辑 我传入响应,在从控制器调用此方法后可以看到它已设置,但一旦响应发送到客户端,此cookie就不存在 在控制器中,我调用SetCookie方法如下: CookieHelper.SetCookie(Response); 我还试图传入System.Web.HttpContext.Current.Response,但没有成功 我调用的方法是: public class CookieHelper
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中的以下行表示:
我尝试过没有cookieless=“false”
IIS中此应用程序的Cookie设置部分包括:
模式:UseCookies
名称:ASP.NET\u SessionId
超时:20
(分钟)
我访问了以下内容并尝试了解决方案:
以及几个microsoft文档页,例如:
有没有什么我遗漏的,或者我明显没有考虑的基本概念?在客户端设置cookie很好,只是不在服务器上设置它们。服务器端不能直接访问客户端,反之亦然。很抱歉解释不好,但我正在训练
cookie。Value
字符串在我的应用程序中是一个不同的值。应用程序中的值太大,超出了cookie大小的限制。我必须想出一个不同的方法,但这就是问题所在
Cookie的大小限制约为4KB,适用于可能认为此信息有用的任何人。响应中发送到浏览器的Cookie,对吗?但是在下一个请求中,当它们被发送回您时,它们会在请求中被找到。您是否正在进行重定向?当cookie“消失”时,通常会出现这种情况。@Tasos K.,我没有执行重定向。@JesseMoreland,它们没有被发回,因此不在请求中。(这就是我发现这一切发生的原因。)是否在
127.0.0.1:42424
配置了StateServer
,并且ASP.NET state服务是否正在运行?您是否尝试过先在procInProc
(默认)中调试代码级别与配置?我知道这一点。我试图通过浏览器检查客户端。谢谢你