服务器端相当于 HttpContext?

2024-01-03

我有一个 Web 应用程序,当前使用当前的 HttpContext 来存储 LINQ 数据上下文。上下文针对当前请求、基于每个用户、每个里克·斯特拉尔的博客 http://www.west-wind.com/weblog/posts/246222.aspx:

string ocKey = "ocm_" + HttpContext.Current.GetHashCode().ToString("x")  
Thread.CurrentContext.ContextID.ToString();

if (!HttpContext.Current.Items.Contains(ocKey))
{
    // Get new Data Context and store it in the HTTP Context
}

但是,我有一些从 global.asax 文件执行的脚本,没有一个 HttpContext。HttpContext.Current 为 NULL,因为服务器是发出“请求”的人。

是否有一个等效的对象可用于存储数据上下文?所以我不必担心重新创建它以及附加/分离对象?我只想在进程的生命周期中保留上下文。

UPDATED:

我目前正在尝试在 DAL 帮助程序类中使用静态变量。第一次调用类中的方法之一时,DataContext 被实例化,并存储在静态变量中。在过程结束时,我调用另一个方法,该方法在 DataContext 上调用 Dispose,并将静态变量设置为 NULL。


您不能只为这些脚本使用专门的静态变量吗?其寿命将与AppDomain。您可能应该仔细考虑任何并发问题,但这听起来是保留值的最简单方法。

(我刚刚检查过,虽然有一个实例HttpApplication可用于服务多个请求,每个请求一次仅服务一个请求 - 这表明为并发请求处理创建多个实例。我还没有验证这一点,但听起来确实将其保留在实例变量中是不安全的。)

编辑:乔什的回答表明您希望这是每个线程的。这对我来说听起来有点奇怪,除非你有一个lot对于发生的这些事件,您很可能只会看到它们在不同的线程上执行,从而使整个共享业务变得毫无意义。如果你真的想要这样的东西,我建议只在HttpApplication-派生类 - 正是出于上面段落中描述的原因:)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

服务器端相当于 HttpContext? 的相关文章

  • JetBrains Rider 针对 4.5 框架,无法切换到 4.7

    基本上 当尝试添加不支持旧框架的 NuGet 包时 会出现错误 但是在项目配置中只有 4 5 可用 在项目创建过程中 不存在选择目标的选项 有什么方法可以正确配置它吗 I haven t found out how to set up NE
  • 在异步请求中使用超时回调

    我之前问过这个问题 但我将用提出的解决方案来完成这个问题 并提出另一个问题 我正在使用这个类来进行异步网络请求 http msdn microsoft com en us library system net webrequest aspx
  • 使用 GCHandle 将大型结构数组从 C# unity 脚本传递到 C++ dll 在 C++ 函数执行后崩溃

    我想从 C unity 脚本将结构数组传递给 c 本机插件 我做了如下操作 我可以访问数据 但我的应用程序在执行 c 函数后崩溃 我不知道为什么 C side StructLayout LayoutKind Sequential publi
  • 当 foreach 块的内容具有 Conditional 属性时,C# 编译器是否会对其进行优化?

    我正在工作中编写一些调试代码 我想知道我所做的是否会损害性能 让我们看一下代码 foreach var item in aCollection Debug WriteLine item Name 我知道 Debug 类使用 Conditio
  • std::bind2nd 和 std::bind 与二维数组和结构数组

    我知道 C 有 lambda 并且 std bind1st std bind2nd 和 std bind 已弃用 然而 从C 的基础开始 我们可以更好地理解新特性 所以 我从这个非常简单的代码开始 使用int 数组s 第一个例子 与std
  • 何时使用 C++ 私有继承而不是组合?

    你能给我一个具体的例子吗 什么时候使用私有继承优于组合 就我个人而言 我将使用组合而不是私有继承 但在某些情况下 使用私有继承可能是特定问题的最佳解决方案 正在阅读C faq http www parashift com c faq lit
  • 如何检查号码是否只有唯一的数字?

    例如 2345 是唯一的数字 因为没有数字显示两次 但 3324 不是唯一的数字 因为 3 出现了两次 我尝试使用 但我 代码 显示但我没有得到数字我得到了数字 编辑 你不能使用字符串 number 10 number 100 number
  • 静态 OpenCV 库中未定义的引用

    我有一个使用 OpenCV 3 1 的 C 项目 并且使用共享库可以正常工作 但现在我想使用静态库 位于项目目录中的文件夹中 来编译它 因为我希望能够在未安装 OpenCV 的情况下导出它 如果需要还可以编辑和重新编译 这次我重新编译了 O
  • 尽管浮点数相同,但它们并不相等? [复制]

    这个问题在这里已经有答案了 下面的程序输出This No is not same 当两个数字相同时为什么会这样做 void main float f 2 7 if f 2 7 printf This No is same else prin
  • C语言中没有循环可以打印数组吗?

    例如 在Python中 如果我们将一个列表作为数组 它会直接用一行代码打印整个数组 有什么办法可以用C语言实现同样的事情吗 简短回答 No 对表格上几乎所有问题的简短回答 用 C 语言做 X 工作能像用 Python 一样简单吗 No 长答
  • c 使用 lseek 以相反顺序复制文件

    我已经知道如何从一开始就将一个文件复制到另一个文件 但是我如何修改程序以按相反的顺序复制它 源文件应具有读取访问权限 目标文件应具有读写执行权限 我必须使用文件控制库 例如 FILE A File B should be ABCDEF FE
  • AcceptSocket 超时?

    是否有可能AcceptSocket on a TcpListener具有超时的对象 以便它偶尔被中断 TcpListener server new TcpListener localIP port server Start while sh
  • 从 Golang 调用 C 函数

    我想在 Golang 中编写控制器逻辑并处理 json 和数据库 同时在 C 中使用我的数学处理模型 在我看来 调用 C 函数的开销必须尽可能低 就像设置寄存器 rcx rdx rsi rdi 一样 执行一些操作fastcall 并获取 r
  • C# 反序列化过程中创建指向父对象的指针

    我有这样的课程 Serializable public class child public Parent parent Serializable public class Parent public List
  • 确定相关词的编程方式?

    使用网络服务或软件库 我希望能够识别与词根相关的单词 例如 座位 和 安全带 共享词根 座位 但 西雅图 不会被视为匹配 简单的字符串比较对于这类事情似乎是不可行的 除了定义我自己的字典之外 是否有任何库或 Web 服务不仅可以返回单词定义
  • 在 C# 窗口应用程序中运行 C/C++ 控制台应用程序?

    现在 我想开发一个简单的应用程序 因此我决定最快的编码方式是 C NET 但现在 我很难实现我需要的功能之一 我想做的是在 C 应用程序的窗口内运行 C C 控制台应用程序 就像在虚幻前端中一样 添加一点通信方式 以便我可以为控制台应用程序
  • C# 模式匹配

    我对 C 有点陌生 我正在寻找一个字符串匹配模式来执行以下操作 我有一个像这样的字符串 该书将在 唐宁街 11 号接待处 并将由主要医疗保健人员参加 我需要创建一个 span 标签来使用 startIndex 和 length 突出显示一些
  • 检查另一种形式的线程是否仍在运行

    我有一个涉及两个窗体的 Windows 窗体应用程序 子表单用于将数据导出到 CSV 文件 并使用后台工作者写入文件 当这种情况发生时 我隐藏了表格 当后台工作程序运行时 父窗体仍然处于活动状态 因此即使后台工作程序正在写入文件 用户也可以
  • 在两个点之间创建一条曲线,每个点都具有标准化向量

    因此 我需要一种写入方法来在两点之间创建一条曲线 每个点都有一个指向任意方向的归一化向量 我一直在尝试设计这样一种方法 但一直无法理解数学 在这里 由于一张图片胜过一千个文字 这就是我所需要的 在图中 矢量垂直于红线 我相信向量需要进行相同
  • 有没有办法在 C# 中仅通过文件名查找文件?

    我们现在使用绝对路径或相对路径在 C 应用程序中查找文件 如果文件位于当前工作目录下或 路径 之一下 有没有办法仅通过名称查找文件 使用绝对路径不好 使用相对路径也不够好 因为我们可能通过重命名或移动项目文件夹来更改项目结构 如果我们的代码

随机推荐

  • Locust:如何在 n 个用户上运行任务 n 次然后停止 locust 运行?

    我有一个简单的 Locust 脚本 其中包含一个带有 http 请求的任务 我想对 10 个用户运行此任务 100 次 然后停止运行脚本 有没有什么简单的方法可以做到 我知道 run time 参数 但它只会在指定的时间后停止 下面是我的脚
  • 在同一组件内重复 html

    我正在寻找一种在组件中的多个位置重复相同标记的方法 我知道我可以使用一个新组件 但我正在寻找一些不那么严重的东西 The html
  • 更改图像的 src 属性是否会阻止图像下载?

    假设我有两个手风琴选项卡 第一个加载数百张图像 并在页面加载时打开 如果用户单击第二个手风琴选项卡 我希望能够停止下载图像 通过js改变图片的src属性会阻止图片下载吗 或者请求是否只是继续直到完成而不显示在页面上 我有一个脚本 可以在 3
  • Angular 9 PWA 社交登录重定向 start_url / 索引页面上的问题

    我的角度应用程序正在 Angular 9 上运行 带有 SSR 和 PWA 它在 Heroku cloudflare 上运行 当我尝试在索引页面上通过 Facebook Google 登录时 角度给出请求超时错误 Example 打开索引页
  • ES 6 在定义后动态地处理类

    我之前正在开发自己的 Javascript OOP 但现在我正在玩ES6并想使用该类defined after 定义以一般的方式 Note任何答案new这不是我所追求的 伪代码 base js class Base constructor
  • d3.js中的网络多路由正交图

    We want to use d3 to draw a network route graph that has fixed start and end node but different paths in between that mi
  • 具有 tmux 集成的 Iterm2 不使用 .tmux.conf 中的键绑定

    我已经在 iTerm2 中使用 tmux 一段时间了 但我还没有使用 iTerm2 现在附带的 tmux 集成 我开始考虑使用 tmux 集成 因为它允许您在 tmux 内使用 shell 集成 我遇到的问题是在我这样做之后tmux CC我
  • GWT 中的 Shift 键?

    Is there a way in GWT to tell if the Shift key is down inside of an onClick handler 例如 import com google gwt event dom c
  • 仅对少数路径禁用过滤器

    如何获取过滤器以应用于根路径之外的每个请求 我想忽略的请求除外 这是我的例子 我有一个 Spring Security 过滤器 如下所示 private static class SecurityConfiguration extends
  • Android Firebase 无法刷新电子邮件验证状态

    在我的 Android 应用程序中 我正在创建用户并发送验证电子邮件 当用户通过单击收到的电子邮件中的链接进行验证后 我想继续进入下一页 但是 验证状态未更新 因此我无法继续 我已尝试注销并再次登录 这有效 但我不想以这种方式刷新状态 有任
  • 阿帕奇扭矩项目的入口点

    我有一个项目包含webroot文件夹名称为 war 并包含类似的结构 但它不包含web xml与其他常见的 Web 项目入口点一样 我如何开始这个 Torque 项目 Torques Web 项目的入口点是什么 我的另一个问题在这里xdoc
  • Spring数据查询其中列为空的情况

    假设我有实体 为了简洁起见 省略了 getter setter 和各种细节 Entity class Customer OneToMany cascade CascadeType ALL mappedBy customer Collecti
  • 如何使用镜头库编写依赖于其他镜头的复杂镜头?

    此刻 我有一个WorkLog类型 并带有开始日期和结束日期 我还想添加一个持续时间镜头 它将从开始日期和结束日期派生出来 它应该是只读的 或者如果其值发生更改则更改结束日期 我想知道如何实现这两个版本 即使我只会使用一个版本 这是我的代码
  • Delphi对象持久化,什么是最好的方法

    我已经开发了用于绘制一些形状 主要是线条 的应用程序 现在我需要能够将草图存储到文件中 我知道delphi已经内置了用于对象持久性的例程 但我从未使用过它 有人可以告诉我 如果我必须保留还引用其他对象 将存储到 的对象 可以使用对象持久性吗
  • 在两个 Flask 服务器之间共享会话

    我有一个带有两个 Flask 服务器的后端 一种是处理所有 RESTfull 请求 另一种是 Flask socketio 服务器 有没有办法在这两个应用程序之间共享会话变量 登录用户等 如果这很重要的话 它们确实会在不同的端口上运行 我如
  • 如何立即退出 Windows 窗体 .NET 应用程序?

    在我们的应用程序中 我们有一个相当广泛的异常处理机制 在错误处理逻辑中的某个时刻 我们希望终止应用程序 就在此时 不再执行任何代码 我们当前的代码使用Environment Exit 来做到这一点 调用Environment Exit 后
  • Tkinter 全局绑定

    是否可以用一行将所有小部件绑定到一个命令 如果我可以输入一行而不是单独执行每个小部件 那就太好了 你会使用bind all http epydoc sourceforge net stdlib Tkinter Misc class html
  • ThreeJS X 旋转行为异常

    我正在制作 ThreeJS 演示 目前正在使用箭头键旋转相机 起初一切似乎都很顺利 我可以成功地上下左右旋转 但是 当我向左转动 然后尝试向上或向下旋转时 它会向上和向下旋转 但与我当前的位置无关 它的作用就好像我根本没有向左旋转一样 这是
  • 如何在C#中查询网络连接状态?

    查找连接到互联网或未连接互联网的用户的最佳和快速方法是什么 尝试这个 1
  • 服务器端相当于 HttpContext?

    我有一个 Web 应用程序 当前使用当前的 HttpContext 来存储 LINQ 数据上下文 上下文针对当前请求 基于每个用户 每个里克 斯特拉尔的博客 http www west wind com weblog posts 24622