zoukankan      html  css  js  c++  java
  • 一次请求共用一个实例(值),将(实例)值存储到当前请求线程区

    在ef中有个DbContext上下文,如果每次访问数据库都产生一个DbContext那是不好做法,比较好做法是一次请求共用一次DbContext实例,可以将DbContext存储到当前请求线程区。

    测试使用当前请求线程存储区代码:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Text;
     5 
     6 namespace RuntimeDemo
     7 {
     8     /// <summary>
     9     /// 测试线程值的存储
    10     /// </summary>
    11     class Program
    12     {
    13         static void Main(string[] args)
    14         {
    15             System.Runtime.Remoting.Messaging.CallContext.SetData("valueKey", "存到当前请求线程区的值");  //将值存储进当前请求线程区  存储到当前线程区的值会睡着线程被回收而回收
    16 
    17             string str = System.Runtime.Remoting.Messaging.CallContext.GetData("valueKey") as string;  //获取存储进当前请求的线程区的值
    18 
    19             Console.WriteLine(str);
    20 
    21             Console.ReadLine();
    22 
    23         }
    24     }
    25 }

    上面的代码运行结果:

  • 相关阅读:
    B. Pasha and Phone
    GCD(关于容斥原理)
    二分乘法
    Lucky7(容斥原理)
    E. Devu and Flowers
    最大公约数最小公倍数
    leetcode每日刷题计划--day55
    Titanic--kaggle竞赛入门-生存预测
    做题记录--day54
    机器学习上机作业1记录 && 相关知识点复习
  • 原文地址:https://www.cnblogs.com/linJie1930906722/p/5815670.html
Copyright © 2011-2022 走看看