使用 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 的相关文章

随机推荐

  • 从样式表设置内容边距

    我正在努力将内容边距设置为零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