簡體   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