2016-12-07 98 views
1

如何使用startup.cs中的參數注入服務。如何注入SqlConneciton?在asp.net核心中注入參數

public class AirportService : IAirportService 
{ 
    public AirportService(SqlConnection con) 
    { 
     var airportRepository = new AirportRepository<Airport>(con); 
    } 
} 

回答

2

首先你要喜歡這個註冊您的服務:

public void ConfigureServices(IServiceCollection services) 
{ 
    ... 
    services.AddTransient<IMyService, MyService>(); 
} 

只有這樣構造器注入將成爲可能。在你的例子中,你需要用一個接口註冊你的SqlConnection(就像上面的例子)。然後框架會在注入時創建新的實例。

對於依賴注入,我建議你去看看先在這裏:Dependency Injection

BUT!我不知道注入SqlConnection是否是一個好方法。我建議創建某種工廠ConnectionFactory: IConnectionFactory,注入此,然後使用該ConnectionFactory創建新的連接(從池中取一個)。