繁体   English   中英

在不同的MVC项目之间共享ActionFilter

[英]Share ActionFilter between differents MVC projects

我必须创建多个Asp .Net MVC项目,并且想要在这些项目之间共享常见的动作筛选器(除其他外),以​​避免重复代码。

例如:

using System.Web.Mvc;

namespace CoreMVC
{
    public class CustomHandleErrorAttribute : HandleErrorAttribute
    {
        public CustomHandleErrorAttribute() { /* ... */ }

        public override void OnException(ExceptionContext filterContext) { /* ... */ }
    }
}

到目前为止,我一直认为解决方案是在Class Library项目中包含此类(以及其他类), 并引用System.Web.MVC程序集。 这样,每个MVC项目都可以引用此程序集并重新使用它。

这是执行此操作的正确方法,还是有其他更好的解决方案?

程序集/类库是在.NET应用程序中共享/重用代码的标准方法,因此,这是一种实现方法。 另一种方法是使用NuGet,它还将包含带有共享代码的程序集。 NuGet的优点是您可以在类库中包含一些其他内容(例如一些对安装NuGet的目标项目执行其他自定义的自举Powershell脚本)。 NuGet的另一个巨大优点是,您可以在其中拥有多个平台,并且可以根据要安装的版本/.NET平台来引用正确的程序集。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM