ActionFilterAttribute ninject 注入 - DbContext 已被处置

2023-11-21

我的项目使用通常的存储库模式以及服务和工作单元(所有这些都使用 Ninject 从 NinjectModule 注入依赖项),但我正在尝试从ActionFilterAttribute在我显示的页面布局中注入一些信息(来自数据库),这样我就不需要弄乱每个控制器上的所有操作。

当我在一个屏幕上保存到数据库并移至下一个屏幕,然后返回到上一个屏幕(使用标准@Url.Action): The ActionFilterAttribute为了Index操作被触发,但对服务和相应存储库(在属性内)的调用会抛出异常,因为DbContext has been disposed.

访问服务是否存在任何问题,因此,DbContext从一个ActionFilterAttribute通过属性注入注入服务时?我想指出的是,我在属性中对服务使用属性注入,因为构造函数接收两个任意参数,具体取决于 Action 方法的签名,因此我唯一的选择是通过属性注入。

如果您需要一些代码,请告诉我,我会更新问题。


我在以下问题中找到了问题的解决方案:将依赖项注入 ASP.NET MVC 3 操作过滤器。这种方法有什么问题吗?

组合马克·西曼的回答是脱衣战士的评论是解决方案。

基本上,我将 ActionFilterAttribute 拆分为一个属性,该属性仅装饰我的操作并保留稍后需要的参数,并且还拆分为一个 ActionFilter,该属性检查操作的自定义属性,如果我的属性存在,则它将我想要的数据从数据库注入到ViewBag。所有内容稍后都会与 Ninject 的 BindFilter 扩展绑定,因此它仅适用于它需要的方法。

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

ActionFilterAttribute ninject 注入 - DbContext 已被处置 的相关文章

  • 如果找不到指定的图像文件,显示默认图像的最佳方式?

    我有一个普通的电子商务应用程序 我将 ITEM IMAGE NAME 存储在数据库中 有时经理会拼错图像名称 为了避免 丢失图像 IE 中的红色 X 每次显示产品列表时 我都会检查服务器中是否有与该产品相关的图像 如果该文件不存在 我会将其
  • 如何关闭整个数据库的区分大小写

    我创建了一个包含许多脚本和许多存储过程的数据库 在这个数据库中 我们没有注意担心区分大小写 因为它对于我的本地开发计算机来说是关闭的 综上所述 我试图弄清楚如何使以下两条语句返回相同的结果 SELECT FROM companies SEL
  • 使用 alpha 通道叠加两个 ggplot2 stat_密度2d 图

    我想叠加两个ggplot2使用 alpha 通道进行绘图 结果图像显示两个数据集 这是我的测试数据 data read table text P1 1 0 4 nP2 0 0 2 nP3 2 1 8 nP4 2 2 6 nP5 0 5 2
  • ContentDialog Windows 10 Mobile XAML - 全屏 - 填充

    我在项目中放置了一个 ContentDialog 用于 Windows 10 上的登录弹出窗口 当我在移动设备上运行此项目时 ContentDialog 未全屏显示 并且该元素周围有最小的填充 在键盘上可见 例如在焦点元素文本框上 键盘和内
  • 如何为有时异步的操作创建和实现接口

    假设我有数百个类 它们使用 计算 方法实现公共接口 一些类将执行异步 例如读取文件 而实现相同接口的其他类将执行同步代码 例如将两个数字相加 为了维护和性能 对此进行编码的好方法是什么 到目前为止我读到的帖子总是建议将异步 等待方法冒泡给调
  • 将 r 中的一列从出生日期更改为年龄

    我是第一次使用 data table 我的表中有大约 400 000 个年龄的列 我需要将它们从出生日期转换为年龄 做这个的最好方式是什么 我一直在思考这个问题 到目前为止对这两个答案都不满意 我喜欢用lubridate 就像 KFB 所做
  • Rails 未定义“2013-03-06”的方法“strftime”:字符串

    我收到错误 2013 03 06 的未定义方法 strftime 字符串 当尝试使用 strftime 从字符串 2013 03 06 正常显示日期 2013 年 6 月星期日 3 日或类似的日期 时 在我的 index html erb
  • 除了 Erlang 之外,还有哪些系统是基于“绿色流程”的?

    我正在阅读这个信息页面绿线 维基百科 http en wikipedia org wiki Green thread我想知道 除了 Erlang 之外 还有哪些编程系统依赖于 绿色进程 Edit 绿线 绿色流程 基于绿色流程 Erlang
  • 用于插入或替换 URL 参数的 Django 模板标签

    有人知道 Django 模板标签可以获取当前路径和查询字符串并插入或替换查询字符串值吗 例如向 some custom path q how now brown cow page 3 filter person 发出请求 电话 urlpar
  • 如何从地址簿中获取一个人的电话号码?

    我想做的就是让用户从地址簿中选择一个号码 我在这个问题中找到了代码 如何从地址簿联系人获取电话号码 iphone sdk https stackoverflow com questions 286207 how to get a phone
  • 即使调整大小,如何获得屏幕的精确中间位置

    好的 这个问题有两部分 当我做一个JFrame 并在其上画一些东西 即使我将宽度设置为 400 并使其在一个项目击中它时 当然 允许项目宽度 它会反弹回来 但由于某种原因 它总是偏离屏幕约 10 个像素 有没有办法解决这个问题 或者我只需要
  • 定义在文本小部件中双击时选择哪些字符

    在 Windows 上 双击文本小部件中的单词也将选择连接的标点符号 有什么方法可以定义您想要选择的角色吗 tcl wordchars该变量的值是一个正则表达式 可以设置它来控制什么被视为 单词 字符 例如 通过双击 Tk 中的文本来选择单
  • 混合本机/托管可执行文件中的最终托管异常处理程序?

    我有一个使用 clr 编译的 MFC 应用程序 并且我正在尝试为未捕获的托管异常实现最终处理程序 对于本机异常 重写CWinApp ProcessWndProcException works 杰夫的书中提到的两个事件代码项目文章 http
  • 无法安装最新版本的 Numpy (1.22.3)

    我正在尝试安装最新版本的 numpy 即 1 22 3 但看起来 pip 无法找到最后一个版本 我知道我可以从源代码本地安装它 但我想了解为什么我无法使用 pip 安装它 PS 我有最新版本的pip 22 0 4 ERROR Could n
  • 如何在 ASP.NET Core 中注入泛型的依赖关系

    我有以下存储库类 public class TestRepository Repository
  • 构建 iOS 应用程序后退出代码 1 错误

    我正在尝试使用 RestKit 构建我的项目 当我构建它时 我收到以下错误 我尝试使用 Apple LLVM 3 0 和 LLVM GCC 4 2 进行编译 两者都产生相同的结果 任何人有任何想法是什么导致了这个问题 Ld Users Ji
  • Google Drive 服务帐户上传的位置

    我正在尝试使用服务帐户将文件上传到我的 Google 云端硬盘 当我部署此代码时 我不希望用户给予授权 我希望他们上传到我的帐户 我通过 PHP 使用它 下面是我到目前为止的情况 这段代码是基于官方文档给出的例子 当我运行 php 脚本时
  • Swift:UICollectionViewCell didSelectItemAtIndexPath 更改背景颜色

    我可以轻松更改单元格的背景颜色CellForItemAtIndexPath method func collectionView collectionView UICollectionView cellForItemAtIndexPath
  • 如何统计订单总价?

    我有这些表 Orders id status user id address id 1 await 1 1 products id name price quantity 1 test1 100 5 2 test2 50 5 order p
  • 使用
    元素作为 JavaScript 代码的输入。这是最好的方法吗?

    各位 显然 我是编码新手 所以最近完成了一些有关 HTML 和 Javascript 的 Lynda 课程后 我的简单 HTML 页面遇到了困难 基本上 我想要的是使用 JavaScript 进行基本计算 让用户使用 HTML 输入两个数字

随机推荐

  • ActionBar 上没有应用程序图标

    这里有很多关于向 ActionBar 添加图标的查询 但没有一个解决我的问题 如果您知道此问题的重复项 请随时发表评论或关闭此问题 我将我的项目迁移到 IntelliJ 并且在我以前的 IDE Eclipse 中没有遇到这个问题 问题 应用
  • Hyperledger:运行“./byfn -m up”时获取“/bin/bash: ./scripts/script.sh: No such file or directory”

    我是超级账本的新手 只是按照以下教程来学习它http hyperledger fabric readthedocs io 我正在尝试使用结构样本中的 first network 构建第一个网络 这 byfn m generate没问题 但打
  • Angular 4.3:使用新的 HttpClient 获取数组缓冲区

    我想更改为新的 HttpClient 到目前为止 我处理文件下载如下 getXlsx Observable
  • 如何以文化感知方式格式化 TimeSpan 的 HH:mm:ss 分隔符?

    我正在开发一款可以在世界许多国家 地区看到的应用程序 没有多少国家 地区会使用 以外的其他内容作为分隔符来显示小时 分钟和秒 但有一些国家 地区 我想确保其所在地区的时间格式正确 DateTime 在这方面很擅长 但 TimeSpan 则不
  • 无需拖放即可快速创建用户界面的最佳语言? [关闭]

    Closed 这个问题是基于意见的 目前不接受答案 我是一名盲人大学生 正在参加专注于用户界面设计的编程入门课程 该类正在使用Processing 这是完全无法访问的 我正在寻找一种语言 它允许我无需拖放即可创建 GUI 并希望足够智能来完
  • GWT 将 ClickHandler 添加到 DOM 元素

    可以说我有一个带有 ClickHandler 的自定义小部件 这是例子 public class TestWidget extends Composite private static TestWidgetUiBinder uiBinder
  • jinja2.exceptions.TemplateNotFound:bootstrap/base.html

    我在继承引导程序 base html在安装 Bootstrap Flask 扩展后的 Flask 应用程序中 但出现以下错误 jinja2 exceptions TemplateNotFound bootstrap base html 您需
  • MP4 正在下载而不是播放

    MP4 文件有时会被下载 有时会在浏览器中播放 这两个链接有什么区别 1 如果您在 Chrome 中打开此 URL 将下载视频 http video video mall com video mall 400241188377 video
  • Angular 2 获取div的宽度

    我看过很多帖子 但没有一个完全符合我的要求 我有一个超出页面宽度的表格 由于各种原因我需要获取它的宽度 I used ViewChild tableToMeasure elementView ElementRef 然后将 tableToMe
  • 如何化简分数?

    如何在 C 中化简分数 例如 给定1 11 6 我需要它简化为2 5 6 如果你想要的只是将你的分数变成一个带分数 其小数部分是像前面假设的答案一样的真分数 你只需要添加numerator denominator到数字的整个部分并将分子设置
  • 如何使用 python nltk 加速 stanford NER 的 NE 识别

    首先 我将文件内容标记为句子 然后对每个句子调用斯坦福 NER 但这个过程确实很慢 我知道如果我在整个文件内容上调用它会更快 但是我在每个句子上调用它 因为我想在 NE 识别之前和之后索引每个句子 st NERTagger stanford
  • 我可以更改 UISearchBar 清除按钮的颜色/图像吗?

    我想将清除按钮颜色更改为白色 我尝试了很多方法但没有运气 我还参考了以下内容link 但这对我不起作用 请找到我尝试过的以下代码 我正在开发最新的 ios 11 感谢任何帮助 class SearchBar UISearchBar over
  • 如何解析气流模板中的json字符串

    是否可以在气流模板中解析 JSON 字符串 我有一个 HttpSensor 它通过 REST API 监视作业 但作业 ID 位于上游任务的响应中 该任务具有xcom push marked True 我想做类似下面的事情 但是 这段代码给
  • 有时 console.log 在 log-ios 中显示,有时则不显示

    我跑了react native start在一个终端中 然后react native ios run在另一个 我的初始console log很少表现出来 但有时会表现出来 很多时候 我随机地看到 超出日志消息配额 此进程中的一些消息已被丢弃
  • 如何从监控摄像头录制的视频中读取时间?

    我有一个问题 我必须从监控摄像头录制的视频中读取录制时间 时间显示在视频的左上角区域 下面是显示时间的区域屏幕截图的链接 此外 数字颜色 白色 黑色 在视频播放期间不断变化 http i55 tinypic com 2j5gca8 png
  • 更新 .dbml 文件

    在数据库中进行一些更改后如何更新 dbml 文件 进行更改后没有内置方法可以将 dbml 文件 数据上下文与数据库同步 除了通过删除所有或部分实体并重新拖动它们来重新生成整个 dbml 文件之外 或者按照其他回复的建议使用 sqlmetal
  • Python - 找到最近的时间戳

    我有一个 Python 日期时间时间戳和一个大字典 索引 其中键是时间戳 值是我感兴趣的其他一些信息 我需要尽可能高效地找到索引中最接近时间戳的日期时间 键 目前我正在做类似的事情 for timestamp in timestamps c
  • .net MAUI 背景 vs 背景颜色 - 有什么区别?

    使用 Visual Studio Community Edition 2022 构建 Net MAUI 项目 我尝试搜索官方文档 但没有找到答案 有人可以解释以下内容吗 问题 有什么区别Background and BackgroundCo
  • SQL表连接中ON和WHERE子句的区别

    select e last name e hire date from employees e join employees m on m last name Davies and e hire date gt m hire date se
  • ActionFilterAttribute ninject 注入 - DbContext 已被处置

    我的项目使用通常的存储库模式以及服务和工作单元 所有这些都使用 Ninject 从 NinjectModule 注入依赖项 但我正在尝试从ActionFilterAttribute在我显示的页面布局中注入一些信息 来自数据库 这样我就不需要