ASP.NET Core Web API中Startup的使用技巧


Startup類和服務配置   

STARTUP CLASS AND THE SERVICE CONFIGURATION

在 Startup 類中,有兩個方法:ConfigureServices 是用於服務注冊,Configure 方法是向應用程序的請求管道中添加中間件。

因此,最好的方式是保持 ConfigureServices 方法簡潔,並且盡可能地具有可讀性。當然,我們需要在該方法內部編寫代碼來注冊服務,但是我們可以通過使用 擴展方法 來讓我們的代碼更加地可讀和可維護。

例如,讓我們看一個注冊 CORS 服務的不好方式:

 

public void ConfigureServices(IServiceCollection services)
{
   services.AddCors(options =>
   {
       options.AddPolicy("CorsPolicy", builder => builder.AllowAnyOrigin()
           .AllowAnyMethod()
           .AllowAnyHeader()
           .AllowCredentials());
   });
}

  

盡管這種方式看起來挺好,也能正常地將 CORS 服務注冊成功。但是想象一下,在注冊了十幾個服務之后這個方法體的長度。

這樣一點也不具有可讀性。

一種好的方式是通過在擴展類中創建靜態方法:

 

public static class ServiceExtensions
{
   public static void ConfigureCors(this IServiceCollection services)
   {
       services.AddCors(options =>
       {
           options.AddPolicy("CorsPolicy", builder => builder.AllowAnyOrigin()
               .AllowAnyMethod()
               .AllowAnyHeader()
               .AllowCredentials());
       });
   }
}

  

然后,只需要調用這個擴展方法即可:

public void ConfigureServices(IServiceCollection services)
{
   services.ConfigureCors();
}

 

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM