2016-12-07 87 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创建新的连接(从池中取一个)。