惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

S
Security @ Cisco Blogs
Y
Y Combinator Blog
N
Netflix TechBlog - Medium
aimingoo的专栏
aimingoo的专栏
Martin Fowler
Martin Fowler
大猫的无限游戏
大猫的无限游戏
IT之家
IT之家
C
Check Point Blog
爱范儿
爱范儿
A
About on SuperTechFans
博客园 - 聂微东
V
Visual Studio Blog
博客园_首页
WordPress大学
WordPress大学
Help Net Security
Help Net Security
博客园 - Franky
Forbes - Security
Forbes - Security
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org
Webroot Blog
Webroot Blog
博客园 - 司徒正美
人人都是产品经理
人人都是产品经理
量子位
Vercel News
Vercel News
Google DeepMind News
Google DeepMind News
W
WeLiveSecurity
V
V2EX
SecWiki News
SecWiki News
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
Hugging Face - Blog
Hugging Face - Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
S
Securelist
L
LangChain Blog
C
CXSECURITY Database RSS Feed - CXSecurity.com
Schneier on Security
Schneier on Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
The Register - Security
The Register - Security
L
Lohrmann on Cybersecurity
www.infosecurity-magazine.com
www.infosecurity-magazine.com
P
Privacy International News Feed
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
C
Cyber Attacks, Cyber Crime and Cyber Security
Simon Willison's Weblog
Simon Willison's Weblog
Apple Machine Learning Research
Apple Machine Learning Research
Security Archives - TechRepublic
Security Archives - TechRepublic
Latest news
Latest news
Spread Privacy
Spread Privacy
F
Full Disclosure
美团技术团队
I
Intezer

博客园 - 阿牛-专注金融行业开发

2014-09-19.xml ADO.NET 3.5高级编程:应用LINQ&Entity Framework C#高级编程(第8版) ASP.NET MVC 4 Web编程 Version of SQLCE in WP8 Lesson 9 Oral English Training: Lesson 7 一个不错的Options交易策略网"option trading tips"可以学到各种Options的定义. 加强金融专业知识学习,现实从代码开发到业务设计的转型 SOA不是Web Service ReportViewer使用手册 梳理一下最近要重点好学的东西 有空看完<Beginning Xml with C# 2008>这本书, 深入学习一下Xml. Java vs C# 命名规则 <.NET分布式应用程序开发>读书笔记 第十章:Q&A 手动建立强类型DataSet Ndo v3.1发布了! ODP.NET和System.Data.OracleClient的一些不同 Table Scan, Index Scan, Index Seek
Singleton设计模式活学活用: 请求单一 vs 线程单一
阿牛-专注金融行业开发 · 2009-11-11 · via 博客园 - 阿牛-专注金融行业开发
/// <summary>
    /// 在Web Request期间只存在唯一实例的类
    /// 使用了Lazy
    /// </summary>
    public class SingletonPerRequest
    {
        public object Data;

        public static readonly string Key = "SingletonPerRequest.Key";

        public static SingletonPerRequest Current
        {
            get
            {
                SingletonPerRequest instance = (SingletonPerRequest)HttpContext.Current.Items[Key];
                if (instance==null)
                {
                    instance = new SingletonPerRequest();
                    HttpContext.Current.Items[Key] = instance;
                }
                return instance;
            }
        }
    }

    /// <summary>
    /// 在一个执行线程中只存在唯一实例的类
    /// 使用了Lazy
    /// </summary>
    public class SingletonPerThread
    {
        public object Data;

        public static readonly string Key = "SingletonPerThread.Key";

        public static SingletonPerThread Current
        {
            get
            {
                SingletonPerThread instance = (SingletonPerThread)CallContext.GetData(Key);
                if (instance == null)
                {
                    instance = new SingletonPerThread();
                    CallContext.SetData(Key, instance);
                }
                return instance;
            }
        }
    }

这只是个示例,你可以将它改为泛型类,以编写更安全的代码.

此外,CallContext在Web/Win中,可以移植,所以Web中也建议使用第二种方案.