使用 Spring.Net 将依赖项注入 ASP.NET MVC ActionFilters

2023-12-26

我正在使用 MvcContrib 进行 Spring.Net ASP.Net MVC 控制器依赖项注入。 我的依赖项没有被注入到我的 CustomAttribute 操作过滤器中。 如何将我的依赖项放入其中?

假设您有一个 ActionFilter,如下所示:

public class CustomAttribute : ActionFilterAttribute, ICustomAttribute
{
    private IAwesomeService awesomeService;

    public CustomAttribute(){}

    public CustomAttribute(IAwesomeService awesomeService)
    {
          this.awesomeService= awesomeService;
    }

    public override void OnActionExecuting(ActionExecutingContext filterContext)
    {
         //Do some work
    }
}

Spring.Net 配置部分如下所示:

<object id="CustomAttribute " type="Assembly.CustomAttribute , Assembly" singleton="false">
    <constructor-arg ref="AwesomeService"/>
</object>

您可以像这样使用该属性:

[Custom]
public FooController : Controller
{
    //Do some work
}

这里最困难的部分是 ActionFilters 似乎会随着每个请求而被实例化,并且在 Spring 感知之外的上下文中。我在 ActionFilter 构造函数中使用 Spring“ContextRegistry”类处理了相同的情况。不幸的是,它将 Spring 特定的 API 用法引入到您的代码中,如果可能的话,这是一个应该避免的好习惯。

这是我的构造函数的样子:

public MyAttribute()
{
    CustomHelper = ContextRegistry.GetContext().GetObject("CustomHelper") as IConfigHelper;
}

请记住,如果要加载多个 Spring 上下文,则需要在 GetContext(...) 方法中指定所需的上下文。

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

使用 Spring.Net 将依赖项注入 ASP.NET MVC ActionFilters 的相关文章

  • Spring.NET 和构造函数拦截器

    我正在尝试在构造时对对象进行一些 AOP 并找到了 IConstructorInterceptor 这对于我想要的东西来说是完美的 但它似乎不起作用 http jira springframework org browse SPRNET 2
  • 带有 HttpContext 的 ASP.NET MVC 单元测试控制器

    我正在尝试为我的一个控制器编写一个单元测试 以验证视图是否正确返回 但该控制器有一个访问 HttpContext Current Session 的基本控制器 每次我创建控制器的新实例时 都会调用 basecontroller 构造函数 并
  • ASP.NET MVC 子操作的路由匹配

    子动作的路由匹配方法与普通动作有什么不同吗 换句话说 子操作是否有一些自动生成的 url 来进行与父操作类似的匹配 父级或子级动作处理没有区别 任何操作都遵循您在中设置的相同路线定义Application Start 这意味着父母的行为以及
  • MVC 项目中的 .Rdlc 报告 - 托管调试助手“PInvokeStackImbalance”

    我即将完成并运行我的上一份报告 我在其他报告中没有遇到过这个问题 我正在尝试根据数据库记录创建报告 当我通过 LocalReport 创建报告并为报告创建参数时 收到错误消息 托管调试助手 PInvokeStackImbalance 调用
  • 古老的“字幕”标签的替代品?

    marquee 标签的标准等效项是什么 我正在寻找 HTML C asp NET 或 ASPX jquery java 脚本的解决方案 marquee 标签未包含在标准中 因为它是 视觉 标签 而不是 语义 标签 因此 您想要的任何语言都没
  • Page_ClientValidate 未定义

    我正在使用 ASP NET 2 0 并使用 IE8 作为我的默认浏览器 但无论我尝试多少次 Page ClientValidate一直给我这个错误 它没有定义 我怎么解决这个问题 请帮忙 所以 我想你的页面中可能没有任何RequiredVa
  • asp.net mvc:将 RedirectToAction(string, object) 转换为 RedirectToAction(x => x.Detail(id))

    任何人都知道如何创建一个方法 我将把它放在扩展类中 该方法将仅使用表达式 无魔术字符串 与 mvc 的 RedirectToAction 执行相同的操作 所以不要写这样的东西 RedirectToAction Detail new Rout
  • 如何在 Web 表单中进行 Html.Encode

    我有一个 ASP NET Web 窗体应用程序 有一个带有文本框的页面 用户在其中输入搜索词用于查询数据库 我知道我需要防止 JavaScript 注入攻击 我该怎么做呢 在 MVC 中我会使用Html Encode Web 表单中似乎无法
  • 如何从 Web API 应用程序返回 PDF

    我有一个在服务器上运行的 Web API 项目 它应该从两种不同类型的源返回 PDF 实际的可移植文档文件 PDF 和存储在数据库中的 base64 字符串 我遇到的问题是将文档发送回客户端 MVC 应用程序 剩下的部分是关于所发生的一切以
  • 有没有办法使用 ASP.NET 在用户离开页面时始终运行某些服务器端代码?

    我想知道当用户离开 ASP NET 中的页面时是否有任何方法可以始终运行一些服务器端代码 页面卸载事件不好 因为如果有人单击链接 则不会调用该事件 理想情况下 即使用户关闭浏览器 我也希望代码能够运行 我怀疑我所问的问题是不可能的 但问一下
  • Web 服务需要一个 DataSet 对象,我如何通过 ColdFusion 或原始 XML 提供该对象?

    我需要调用用 NET 编写的 Web 服务 进行调用的应用程序是用 ColdFusion 编写的 Web 服务期望的参数之一是 DataSet 对象 我无法在 ColdFusion 中实例化 NET DataSet 对象 如何向 Web 服
  • 在javascript中访问隐藏字段值

    我的表单中有一个隐藏字段 我正在服务器上设置隐藏字段的值并尝试从 javascript 访问该值 我收到错误 无法获取属性 值 的值 对象为 null 或未定义 如果我查看源代码 则会设置隐藏字段值 并且隐藏字段的 ID 与我正在调用的 I
  • ASP.NET 开发人员真的需要关心线程安全吗?

    我认为自己了解线程的概念以及为什么某些代码是或不是 线程安全 的 但作为主要使用 ASP NET 的人 线程和线程安全是我很少考虑的事情 然而 我似乎在 Stack Overflow 上遇到了大量评论和答案 不一定适用于 ASP NET 大
  • 控件更改时 ObjectDataSource 创建两次

    我将 ObjectDataSource 与 GridView 一起使用 并在代码隐藏中使用 OnObjectCreated 处理程序 如果我以编程方式更改 GridView 上的子控件值 则整个控件会在同一请求中再次进行数据绑定 如 OnO
  • jQuery Datatable:分页和过滤器显示不正确

    我不知道如何解决这个问题 尝试了一整天但没有成功修复分页 我正在使用 jQuery 数据表 并且为了显示我的大量数据 我正在使用服务器端 作为测试 仅调用表中的 10 行数据 然后在传递到表之前 我重组了里面的数据dataSrc 使用这个解
  • 如何使用asp.net检查li点击事件以进行代码隐藏

    我有列表 li 我想知道单击哪个选项可以在后面编写代码 我怎么可能 ul class mega select sort li class filter wrap a href class mega select filter filter
  • 优化视图状态

    是否有人对优化 ASP NET 应用程序的视图状态有任何想法或参考可以向我指出 我不想把它全部关闭 优化它的主要目标是提高性能 所以我不想运行一个昂贵的函数来递归地禁用某些控件的视图状态 因为该函数会减慢速度页面的加载时间会达不到目的 有任
  • 如何使用 C# 中的参数将用户重定向到 paypal

    如果我有像下面这样的简单表格 我可以用它来将用户重定向到 PayPal 以完成付款
  • 服务器不支持 C# 中的安全连接

    我在下面的代码中收到错误 服务器不支持安全连接 SmtpClient smtp new SmtpClient MailMessage mail new MailMessage mail From new MailAddress gmail
  • 良好的 WiX 编辑器 [重复]

    这个问题在这里已经有答案了 我目前正在开发一个使用 WiX 创建 MSI 的项目 我过去在 Sourceforge 上使用 WiXEdit 来管理包含在 WiX 项目中的文件 因为它比直接操作 XML 稍微容易一些 但它仍然有点笨重 有谁知

随机推荐

  • 从样式表设置内容边距

    我正在努力将内容边距设置为零QLayoutQt 中带有样式表的对象 我可以删除它们QLayout setContentsMargins 0 0 0 0 但我更喜欢从样式表中完成它 截至目前 这一目标还无法实现 使用 QLayout setC
  • 如何在单击按钮时弹出默认 iPhone 键盘

    你好 当我们点击 UITextField 或 UITextView 时 iPhone 屏幕底部会弹出一个默认键盘 我希望 iPhone 键盘出现在单击按钮时 然后处理键盘上键入的按键 我该怎么做 在按钮上添加 touchupinside 事
  • 相当于powershell中的网络使用(列出计算机的连接)?

    根据windows帮助NET USE 当不带选项使用时 会列出计算机的连接 我想在 powershell 中找到一种方法来获取 net use 输出中的远程条目列表 我知道作为一种极端措施 我可以解析 net use 命令本身的结果 但我不
  • Chef - 如何编写包含用于“执行”的 DSL 的自定义资源

    我写了一个厨师definition发布到我们的聊天服务器 由于不再推荐定义 我如何将其重写为资源 我对如何使用 事件 方式触发代码特别感兴趣 File chat definitions post rb define chat post do
  • 如何从字符串中删除“#”注释?

    问题 实现一个名为 stripComments code 的 Python 函数 其中 code 是一个参数 它采用包含 Python 代码的字符串 函数 stripComments 返回删除所有注释的代码 I have def strip
  • 数组的反序列化总是给出一个空数组

    我有一个自定义抽象基类 其中包含子类 我已使用 ISerialized 将其序列化 反序列化 当我对该类的子类的单个实例进行序列化 反序列化时 一切正常 然而 当我做一个数组时 我总是在反序列化时得到一个空数组 序列化是通过 BinaryF
  • “以管理员身份运行”到底有什么作用? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 在 Windows 7 上 我有一个命令行程序由于文件写入权限错误而失败 并弹出烦人的消息UAC http en wikipedia or
  • 如何在java中找到两个日期之间的差异持续时间?

    我有两个对象DateTime 需要找到他们差异的持续时间 我有以下代码 但不确定如何继续它以获得预期结果 如下所示 Example 11 03 14 09 30 58 11 03 14 09 33 43 elapsed time is 02
  • 锁定等待@synchronized

    我有一个 罕见的 奇怪的情况 我的 Objective C iOS 程序被锁定 当我闯入调试器时 有两个线程 并且它们都卡在 synchronized 处 除非我完全误解了 synchronized 否则我认为这是不可能的以及该命令的全部意
  • R ggplot2:时间序列的条形图

    我有一个文件 显示过去十年股票的月回报率以及整个投资组合的总回报率 我想绘制这些变化 但我遇到两个问题 首先 R 按日期 字母 顺序重新排序我的数据 而不是按日期的时间顺序 因为它们在文件中排序 其次 日期轴太拥挤 我只想每十二个月显示一个
  • 如何进一步拆分 JavaScript 对象中的字符串?

    我现在有两个对象 obj1 gt logo FinTech startup design obj2 gt logo tech startup design 将它们变成最快的方法是什么 obj1 gt logo FinTech startup
  • Google Maps API 带有 Infowindows 的多个标记

    我正在尝试添加多个标记 每个标记都有自己的信息窗口 单击时会出现该信息窗口 我在获取信息窗口时遇到问题 当我尝试时 要么只显示一个标记 而没有信息窗口 谢谢 如果您需要更多信息 请告诉我
  • 姜戈。类别和子类别

    我想在 Django 中进行类别和子类别的导航 现在我有这个 127 0 0 1 8000 产品 最后一个子类别 产品 slug 我想做 127 0 0 1 8000 产品 类别 子类别 子子类别 产品 slug 像这样 Food Vege
  • ThemeData(primaryColor: Colors.red) 和提供 ColorScheme.primary 之间有什么区别

    我是 Flutter 新手 没有意识到其中的区别 通过提供颜色有什么区别 primaryColor like theme ThemeData primaryColor Colors red AND colorScheme like them
  • 如何让 Ruby / Homebrew / RVM 在 Yosemite 上工作?

    安装 Yosemite 后 我无法运行 brew 或 ruby 我在brew更新时收到此错误 usr local bin brew usr local Library brew rb System Library Frameworks Ru
  • 如何使用PHP数组模拟SQL LEFT JOIN操作?

    我有一个连接到多个服务器的应用程序 其中一台服务器的 ID 是位于另一台服务器上的表的外键 这里的问题是 MySQL 不支持链接服务器 所以我无法运行左查询来左连接位于不同服务器上的 2 个表 因此 我必须使用 PHP 从 2 个不同的服务
  • Regex / DOMDocument - 匹配和替换不在链接中的文本

    我需要以不区分大小写的方式查找并替换所有文本匹配 除非文本位于锚标记内 例如 p Match this text and replace it p p Don t a href match this text a p p We still
  • jquery - 如何设置父属性?

    我正在尝试编写一个 if 语句 其中如果其中一个元素的显示设置为 无 我希望父元素也显示 无 这是我正在尝试的代码 但不起作用 tried this first if prevx a attr display none this paren
  • ACF:用户和订单的自定义字段 - 如何复制?

    我为用户设置了一个自定义字段 将代表分配给他们的帐户 我为订单页面创建了相同的字段 以便我们可以将订单分配给他们的销售代表 下新订单时 我希望它根据用户信息下找到的数据更新销售代表字段 是否有一个简单的 Get 函数可以用来完成此任务 我还
  • 使用 Spring.Net 将依赖项注入 ASP.NET MVC ActionFilters

    我正在使用 MvcContrib 进行 Spring Net ASP Net MVC 控制器依赖项注入 我的依赖项没有被注入到我的 CustomAttribute 操作过滤器中 如何将我的依赖项放入其中 假设您有一个 ActionFilte