2017-01-16 47 views
0

我无法读取我在服务器上设置的客户端上的cookie。为什么我在服务器中设置的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

有什么我丢失,或任何基本概念,我显然没有考虑到?在客户端上设置cookies工作正常,只是不在服务器上设置它们。

+0

在响应权限中发送给浏览器的Cookie?但是,当他们被发回给你时,在下一个请求中,他们被发现在请求中。 –

+0

你在做重定向吗?这是Cookie“消失”时的常见情况。 –

+0

@Tasos K.,我没有做重定向。 – jay

回答

0

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

对于任何可能觉得这些信息有用的人来说,cookie的大小限制约为4KB。

0

服务器端不能直接访问客户端,反之亦然。对不起,差的解释,但我在火车

+0

我知道这一点。我试图通过浏览器检查客户端。谢谢你 – jay

相关问题