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。

推薦閱讀: