在项目ASP.net MVC之间调用事件

时间:2012-09-28 12:29:21

标签: c# asp.net-mvc filter layer

我有一个ASP.NET项目,它分为3层:Filter,Filter.Data和Filter.Task

Filter有一个控制器,它调用Filter.Task来调用Data中的模型。 任务将数据返回给控制器。

当Filter.Task中的任何函数返回数据时,我想调用我的DatabaseFilter类。

这可能吗?

我使用HttpApplication.BeginRequest进行了测试,但我无法检查代码是否来自任务

由于

1 个答案:

答案 0 :(得分:0)

你不能像这样使用动作过滤器:

public class DatabaseActionFilter : ActionFilterAttribute
{
    public override void OnActionExecuted(ActionExecutedContext filterContext)
    {
        var result = filterContext.Result;

        var model = result.ViewData.Model;
    }
}

然后分析模型以获取数据类型的实例并相应地调用DatabaseFilter类?

然后,您可以将其作为属性添加到控制器方法的顶部:

[DatabaseAction]
public ActionResult MyControllerMethod()

希望这有帮助,并且我正确地解释了你的问题。