我应该将哪个命名空间用于我的Asp.NET MVC 4 beta过滤器?

时间:2012-03-09 10:04:43

标签: asp.net-mvc-4

我正在尝试在Asp.NET MVC 4 beta中实现一个全局异常处理程序。据我了解,我应该实现IExceptionFilter并将其添加到filters集合中。但是,在使用System.Web.Mvc.IExceptionFilter时,我无法使其正常工作。我应该使用那个,还是System.Web.Http.Filters.IExceptionFilter(和相关类)我应该使用的那个?

问另一种方式:

我应该向GlobalConfiguration.Configuration.FiltersGlobalFilters.Filters添加过滤器吗?

2 个答案:

答案 0 :(得分:4)

System.Web.Http命名空间完全属于ASP.NET Web API框架,而不是ASP.NET MVC。

至于注册点,您需要将它们添加到GlobalFilters.Filters集合中。

答案 1 :(得分:1)

所以在从@tugberk得到一些指示后,我意识到自己的错误。我基本上是在问错了。我想要的是能够为ASP.NET Web API服务添加过滤器,而不是为mvc应用程序添加它们。

我犯了这个错误,认为他们是同一个人。我想我必须读到关于以错误的方式将这些东西组合在一起所说的内容。

无论如何。我应该为我的案例使用System.Web.Http命名空间,这意味着要添加到GlobalConfiguration.Configuration.Filters集合。

我找到了一个相当不错的weblog,展示了我想要完成的一些基本实现。也许它可以帮助别人。