.net 4.0 如何向非MVC项目添加ActionFilter?
我有几个用f/x4.0编写的项目,它们不是MVC。没有网络参与。事实上,一个是Windows服务,另一个是用于Win窗体或命令行处理的一组库。现在,在MVC3中,您可以执行以下操作:.net 4.0 如何向非MVC项目添加ActionFilter?,.net-4.0,action-filter,.net 4.0,Action Filter,我有几个用f/x4.0编写的项目,它们不是MVC。没有网络参与。事实上,一个是Windows服务,另一个是用于Win窗体或命令行处理的一组库。现在,在MVC3中,您可以执行以下操作: using System; using System.Collections.Generic; using System.Web.Mvc; namespace RivWorks.FeedHandler.Library { class AttributeLogsRequest : ActionFilterA
using System;
using System.Collections.Generic;
using System.Web.Mvc;
namespace RivWorks.FeedHandler.Library
{
class AttributeLogsRequest : ActionFilterAttribute, IActionFilter
{
void IActionFilter.OnActionExecuted(ActionExecutedContext filterContext)
{
// do something here...
}
void IActionFilter.OnActionExecuting(ActionExecutingContext filterContext)
{
// do something here...
}
}
}
现在,您只需将ActionFilter添加到方法或类定义中,上述两个调用将自动发生:
[AttributeLogsRequest]
public class MyController
{
...
}
我的问题是:除了ActionFilterAttribute,IActionFilter之外,还有什么可以用来为我的代码创建非MVC依赖的过滤器吗?ActionFilterAttribute,IActionFilter提供了非常以MVC为中心的信息,如ControllerName、Action、HttpContext等。必须有一种更简单的方法为横切关注点创建一个简单的过滤器
TIA看起来您需要一些AOP库来完成这项工作 外面有很多。您可以尝试以下方法之一: