zoukankan      html  css  js  c++  java
  • Asp.net MVC里的TempData是一个整体

    var a = TempData["a"];

    var alsoA = TempData["a"] ;

    //true

    Debug.Assert(Object.ReferenceEqual(a, alsoA));

    =================

    objects within TempData will only be removed till the end of current request, if during which period you havn't set something new/old with the key. Sounds simple, but to me, it's not.

    And here is a much simpler model, every piece of data got removed when ever you try go get it:

        /// <summary>
        /// TempData is a whole, all it's value exits in the whole request life time.
        /// So here is Flash, any item will  be removed whenever you try to get it, much simpler model.
        /// </summary>
        public class Flash
        {
            private readonly HttpSessionState session;

            public static Flash Instance
            {
                get
                {
                    return new Flash(HttpContext.Current);
                }
            }

            private Flash(HttpContext context)
            {
                session = context.Session;
            }

            public object this[string key]
            {
                get
                {
                    var sessionKey = GetSessionKey(key);
                    var obj = session[sessionKey];
                    session.Remove(sessionKey);
                    return obj;
                }
                set
                {
                    var sessionKey = GetSessionKey(key);
                    session[sessionKey] = value;
                }
            }

            private static string GetSessionKey(string key)
            {
                return "_Flash_Data_{0}".Form(key);
            }
        }
  • 相关阅读:
    vue项目搭建步骤
    文件的操作总结
    WPF 使用皮肤影响按钮自定义
    WPF中:未找到可以 register Name“XXX”的 NameScope
    WPF Label或者其他控件(以Content显示内容的)单个下划线不显示的问题。
    wpf 中GridControl后面总是多一空白列
    WPF设置控件层次问题(最顶层,最底层)
    WPF中设置TreeView的高度随着窗口改变
    C# 检测文件是否被其他进程占用
    XML文件的操作
  • 原文地址:https://www.cnblogs.com/deerchao/p/1260192.html
Copyright © 2011-2022 走看看