相关疑难解决方法(0)

浏览器cookie中的ASP.NET MVC TempData

我正在尝试使用自定义ITempDataProvider提供程序将TempData存储在浏览器的cookie而不是会话状态中.但是,一切正常,但我无法在读取后从Response流中删除cookie.

有任何想法吗?
谢谢!

public class CookieTempDataProvider : ITempDataProvider
    {
        internal const string TempDataCookieKey = "__ControllerTempData";
        HttpContextBase _httpContext;

        public CookieTempDataProvider(HttpContextBase httpContext)
        {
            if (httpContext == null)
            {
                throw new ArgumentNullException("httpContext");
            }
            _httpContext = httpContext;
        }

        public HttpContextBase HttpContext
        {
            get
            {
                return _httpContext;
            }
        }

        protected virtual IDictionary<string, object> LoadTempData(ControllerContext controllerContext)
        {
            HttpCookie cookie = _httpContext.Request.Cookies[TempDataCookieKey];
            if (cookie != null && !string.IsNullOrEmpty(cookie.Value))
            {
                IDictionary<string, object> deserializedTempData = DeserializeTempData(cookie.Value);

                // Remove cookie                
                cookie.Expires = DateTime.MinValue;
                cookie.Value = string.Empty; …
Run Code Online (Sandbox Code Playgroud)

cookies tempdata asp.net-mvc-2

5
推荐指数
1
解决办法
3400
查看次数

标签 统计

asp.net-mvc-2 ×1

cookies ×1

tempdata ×1