确保一个请求共用一个上下文

//职责:确保一个请求共用一个上下文
public class DataBaseContextFactory
{
//返回基类,这样就可以随意做到切换上下文了
public static DbContext GetDataTabelContext()
{
//共用一个请求上下文实例
DbContext dbcontext = CallContext.GetData("DbContext") as DbContext;
if (dbcontext == null)
{
dbcontext = new Entities();
CallContext.SetData("DbContext", dbcontext);
}
return dbcontext;
}
}

时间: 2024-08-26 01:35:35

确保一个请求共用一个上下文的相关文章

一次请求共用一个实例(值),将(实例)值存储到当前请求线程区

在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 /// <sum

调用webapi 错误:使用 HTTP 谓词 POST 向虚拟目录发送了一个请求,而默认文档是不支持 GET 或 HEAD 以外的 HTTP 谓词的静态文件。的解决方案

第一次调用webapi出错如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>IIS 7.5 详细错误 - 4

Android两个ListView共用一个万能的BaseAdapter

Android两个ListView共用一个万能的BaseAdapter 升级之前的MyAdapter.java package run.yang.com.listviewactivedemo; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAd

同一个请求分配一个traceId的两种方式

有时候我们需要某个请求下的所有的traceId都是一致的,以获得统一解析的日志文件.便于排查问题. 为每一个请求分配同一个traceId据我所知有两种方式:MDC和ThreadLocal,MDC的内部实现也是ThreadLocal,下面分别介绍这两种方式. 一.MDC MDC(Mapped Diagnostic Contexts),翻译过来就是:映射的诊断上下文.意思是:在日志中(映射的)请求ID(requestId),可以作为我们定位(诊断)问题的关键字(上下文). 有了MDC工具,只要在接口

Jmeter之Json Path Extractor 接受上一个请求的响应参数

最近在使用Jmeter进行接口测试,被一个问题困扰了很久,就是第二个请求如何接收上一个请求响应中的参数,刚开始尝试着用网上普遍说的正则表达式,长了了N多次之,都没有达到我想要的效果,被整的够惨,于是,开始尝试使用第二种方法,就是Jmeter之Json Path Extractor,感觉棒极了,在此记录下 1.下载安装 Json Path Extractor插件,然后解压到jmeter安装目录相应的文件夹下(这里不细讲了) 2.添加请求A,输入响应的服务器.端口号.路径等(路径要记得输对哦),在A

JS 点击元素发ajax请求 打开一个新窗口

JS 点击元素发ajax请求 打开一个新窗口 经常在项目中会碰到这样的需求,点击某个元素后,需要发ajax请求,请求成功以后,开发需要把链接传给前端(或者说请求成功后打开新窗口),前端需要通过新窗口打开这个链接,其实这样的原理大家可能觉得非常简单,想起来非常简单,用JS中的window.open就可以实现打开新的窗口,或者点击div元素,发ajax请求成功后,动态把链接传给a标签,然后再触发a标签事件,也可以实现,对吧?曾几何时,我也曾经把这样的问题发到JS群里面去,很多JS社区朋友说 龙恩 这

一个请求在Struts2框架中的处理流程

1.客户端向Servlet容器发起一个请求,将请求封装为HttpServletRequest对象. 2.HttpServletRequest首先经过web.xml中配置的struts2的过滤器,以及struts2内置的一些过滤器. 3.接着FilterDispatcher(现已过时)被调用,FilterDispatcher询问ActionMapper来决定这个请是否需要调用某个Action. 4.如果ActionMapper决定需要调用某个Action,FilterDispatcher把请求的处

JAVA web编程经验之: 一个请求一个事务

对于一个web请求,你会开启几个事务呢? 或许你没注意过吧. 又或许你不会对代码,性能要求太高,所以.... 一个请求一个事务, 因为一个事务往往和一个数据库连接关联, 如果开启了多个事务的话,也就意味着多个数据库连接, 性能不高吧? 前提 1.项目的代码结构分层如下: web层 ->  service层 -> infrastructure层(或DAO层) 2.所有事务都添加在 service层, 通过AOP(或其他类似的技术)实现 先看代码(一个Spring Controller 的调用代码

自动封装Servlet HttpServletRequest请求成为一个POJO对象

自己写了个小工具类,将Servlet里面的HttpServletRequest请求封装成为一个POJO对象,可以复习一下Java的反射原理,开发中这个没什么用,毕竟都用MVC框架,框架都自带这种功能,而且更为强大,不过框架也应该是采用这种原理,通过这个也能对框架窥测一二. 这是工具类:通过传入POJO的Class对象来自动封装一个POJO. package com.xxx.xxx.util; import java.lang.reflect.InvocationTargetException;