ASP.NET Core 不同命名空間的 IHostingEnvironment

Posted on 2018-12-28

ASP.NET Core 的 IHostingEnvironment 存在兩個不同的命名空間 Microsoft.AspNetCore.HostingMicrosoft.Extensions.Hosting,這兩個有什麼不一樣呢 ?

注入時

  • 如果沒有相關的 namespace,注入時會叫你選擇

Microsoft.AspNetCore.Hosting

  • Github 原始碼

  • class 的 summary,Provides information about the web hosting environment an application is running in.

  • 主要是針對 Web 服務,所以會比 Extensions 多出了 WebRootPathWebRootFileProvider

Microsoft.Extensions.Hosting

  • Github 原始碼

  • class 的 summary,Provides information about the hosting environment an application is running in.

  • 主要是針對 非Web 服務

後記

  • 每次在注入,總是選擇 namespace,一直以來都是剛好猜中 Microsoft.AspNetCore.Hosting XD,現在總算搞清楚這兩個的差別了