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 }

    上面的代码运行结果:

  • 相关阅读:
    迁移学习
    GAN
    PCA
    LSTM
    hdu 1754 I Hate It 线段树
    hdu 4292 Food 最大流
    hdu 2222 Keywords Search AC自动机
    hdu 3572 Task Schedule hdu 2883 kebab 最大流
    poj 1966 Cable TV Network 点连通度
    hdu 2236 匹配
  • 原文地址:https://www.cnblogs.com/linJie1930906722/p/5815670.html
Copyright © 2011-2022 走看看