对每个请求执行代码

2024-02-07

我希望能够对每个将数据填充到 ViewData 的请求执行一些代码。目前,我有一个基本控制器类,我的所有控制器都继承自该类,并且我重写 OnActionExecuting 并在那里执行它。

我对这种方法唯一关心的是,创建新控制器的人必须继承基类。

有没有一种方法可以在 global.asax 中注册某些内容,就像使用自定义模型绑定程序一样,每个请求都会运行?有点像全局动作过滤器之类的。


您可以使用一个而不是使用基本控制器类(我认为这是大多数情况下的最佳选择)自定义操作调用程序 http://lostintangent.com/2008/07/03/aspnet-mvc-controlleractioninvoker-part-1/。我将从内置的操作调用程序中派生并添加您需要的额外内容。您可以在应用程序启动期间在 global.asax 中注册操作调用程序,它可以覆盖 OnActionExecuting / OnActionExecuted / OnResultExecuting / OnResultExecuted。例如,您可以使用 OnResultExecuting 添加一些 ViewData。此时您将知道操作已完成,并且还知道 ActionResult 的类型。

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

对每个请求执行代码 的相关文章

随机推荐

  • GetSystemMetrics() 对 .NET 4.5 和 .NET 4.0 返回不同的结果

    在 NET 4 0 gt NET 4 5 应用程序迁移过程中 我发现了一种极其奇怪的行为 我已经能够将这个问题追溯到这个简短的代码片段 class Program System Runtime InteropServices DllImpo
  • 如何在经典asp中执行多线程/后台进程

    我需要通过经典 asp 应用程序上的后台作业发送电子邮件 这样用户就不必等待缓慢的网络服务器完成发送电子邮件 我知道我可以使用 Ajax 生成两个单独的请求 但我不想需要 Javascript 另外 我怀疑有更好的方法来实现这一目标 有想法
  • Cordova 构建错误:在严格模式下使用 const

    我在 VS 2015 中创建了一个新的 Cordova 项目 当我尝试运行代码时 我在构建输出中收到以下错误 1 gt Build started Project TestProject Configuration Debug Androi
  • Docker 返回退出代码 3221225781 安装 vc_redist.x64.exe

    我在 docker RUN 中看到了很多有关退出代码 3221225781 的问题 但我仍然找不到答案 考虑这个 dockerfile FROM mcr microsoft com dotnet core runtime 3 1 WORKD
  • 将自然语言描述解析为结构化数据的策略

    我有一系列要求 并且正在寻找最好的基于Java使用的策略 算法 软件 基本上 我想获取一组由真人用自然英语输入的食谱成分 并将元数据解析为结构化格式 请参阅下面的要求以了解我想要做什么 我环顾过这里和其他地方 但没有找到任何关于下一步方向的
  • 在Java中为单链表创建新节点

    我仍在学习 Java 目前正在解决 破解编码面试 中的问题 第 2 章 LinkedList 中的问题之一要求从未排序的链表中删除重复项 我在 GitHub 上找到了一堆答案 解决方案 但我想创建自己的 Node 并编写自己的版本 到目前为
  • C# 退出使用 lambda 的泛型 ForEach

    有谁知道是否可以退出使用 lambda 的通用 ForEach 例如 someList ForEach sl gt if sl ToString foo break continue processing sl here some proc
  • 如何从 CFMutableDictionary 检索特定键的值

    In C EventType find 1 gt second可用于查找键 1 的值 我是 Objective C 的新手 我已经实现了CFDictionary为其增加价值 但是我该怎么办 retreive并查看values特定键的 EDI
  • SQL Server通讯协议问题

    我正在使用 VSTS 2008 C ADO Net SQL Server 2008 我对 SQL Server 2008 将使用哪种通信协议的问题 我的问题的更多详细信息 如果连接字符串看起来像这样 是否使用命名管道或 TCP IP 使用不
  • Vue index.html favicon 问题

    我正在使用 Vue 2 0 和 Vue CLI 3 0 我试图让 favicon ico png 文件正常工作 但一点运气都没有 我已将问题缩小到以下范围 由yarn build生成的index html文件转换了这行html代码 to 如
  • 创建我的第一个 JDBC Realm(Glassfish V3)

    我想为我的 Web 应用程序创建一个 JDBC 领域 由于我的用户彼此之间非常不同 我只需要一个表 其中包含领域的用户名和密码 我决定在我的数据库中创建一个名为 ROLE 的新表 与其他用户表的一对一关系 This is how my us
  • 如何知道应用程序正在关闭

    有一个 WPF 应用程序 我想在应用程序关闭时记录 但我无法修改应用程序 一些限制 只是因为业务 因此 我在现有应用程序中创建了一个不可见的表单组件 添加为 dll 库 因此不需要修改现有应用程序 但问题是 我的隐形组件如何知道应用程序正在
  • 上传前预览多张图片

    我想预览多个图像 但问题是如果我上传 2 个图像 我的代码就可以工作 我想预览与用户上传的一样多的内容 这是我的 JavaScript var abc 0 Declaring and defining global increement v
  • C#:获取域中计算机的信息

    为了获取网络中某台计算机的信息 我应该在 C 中使用哪些类 例如谁登录了该计算机 该计算机上正在运行什么操作系统 打开了哪些端口等 查看系统管理 http msdn microsoft com en us library system ma
  • TableTools 导出在多个 JQuery 选项卡上的 DataTables 中不起作用

    我使用 DataTables 1 8 2 TableTools 2 0 1 和 JQuery 1 6 4 在三个 jQuery 选项卡上分别显示一个表格 TableTools 为表格提供了复制 Excel PDF 打印导出功能 并且仅适用于
  • 描述符的 Python 文档字符串

    我使用描述符来定义接口类的寄存器 class Register object def init self address docstring instance docstring self address address self doc
  • 当你没有在 ruby​​ 中指定异常类时,你会捕获哪些异常?

    当您不指定这样的异常类时 您会捕获哪些异常 begin do something rescue puts Exception end 根据我的副本Ruby 编程 1 9 不带参数的救援子句被视为具有参数StandardError 这是来自的
  • 如何在 Windows 中安装适用于 Python 3.4 的 pandas?

    根据the docs http pandas pydata org pandas docs dev install html 这应该有效 从 PyPI 安装 pandas 可以通过 PyPI 中的 pip 安装 点安装熊猫 这可能需要安装许
  • TypeScript:在事件中使用 jquery $(this)

    HTML div div
  • 对每个请求执行代码

    我希望能够对每个将数据填充到 ViewData 的请求执行一些代码 目前 我有一个基本控制器类 我的所有控制器都继承自该类 并且我重写 OnActionExecuting 并在那里执行它 我对这种方法唯一关心的是 创建新控制器的人必须继承基