Asp.net core程序中使用微軟的依賴註入框架
我之前在博文中介紹過Asp.net core下系統自帶的依賴註入框架,這個依賴框架在Microsoft.Extensions.DependencyInjection中實現,本身並不是.net core的一部分(是asp.net core的一部分),本文這裡就簡單的介紹下載.net core控制臺程序中使用這個框架,順便也瞭解下這個框架的全貌。
首先我們需要安裝Microsoft.Extensions.DependencyInjection這個Nuget包,也可以直接使用Microsoft.AspNetCore.App元包。然後就可以編寫一個簡單的示例瞭:
class Program { static void Main(string[] args) { var services = new ServiceCollection(); services.AddTransient<IMyLogger, MyLogger>(); var provider = services.BuildServiceProvider(); var logger = provider.GetService<IMyLogger>(); logger.WriteMessage("hello world"); } } public interface IMyLogger { void WriteMessage(string message); } public class MyLogger : IMyLogger { public void WriteMessage(string message) { Console.WriteLine(message); } }
例子非常簡單主要也是涉及到ServiceCollection和ServiceProvider兩個對象 ,使用方式和AutoFac非常類似,大體上也是如下幾步:
-
構建一個服務容器工廠
-
在服務容器工廠中註入服務生成規則
-
根據服務容器工廠生成服務容器
-
通過服務容器獲取服務
關於這個服務框架的更多內容,可以參考我之前的文章,這裡也不做更深入的討論瞭。
以上就是本文的全部內容,希望對大傢的學習有所幫助,也希望大傢多多支持WalkonNet。
推薦閱讀:
- .NET Core使用APB vNext框架入門教程
- 理解ASP.NET Core 依賴註入(Dependency Injection)
- .NET Core中如何實現或使用對象池?
- .NET中IoC框架Autofac用法講解
- ASP.NET Core的日志系統介紹