是否可以使用.NET Core 2.1的类库中的配置登录到数据库?
我设法使用NLog为.NET MVC 5构建了一个工作版本。但是,当涉及到.NET Core 2.1时,就依赖于在Startup.cs和Program.cs中将其设置为服务。
我实际上是在另一篇文章中问过的,但这只是为了获得有关指南或教程的建议,以查看是否可行?
这是另一篇我展示了NLog的代码和配置的文章 ASP.NET Core 2.1 Using Nlog configuration as .NET MVC5
答案 0 :(得分:4)
尤其是在类库中,应该使用日志记录外观,例如Microsoft.Extensions.Logging,而不是具体的日志记录提供程序(例如NLog)。然后,您只需将日志记录界面注入类库类中即可,例如:
public class Foo
{
private readonly ILogger _logger;
public Foo(ILogger<Foo> logger)
{
_logger = logger ?? throw new ArgumentNullException(nameof(logger));
}
...
}
然后,在类内部,使用设置为_logger
ivar的注入日志记录实例。然后,在利用此类的实际项目中,设置您的日志记录提供程序并注册适当的服务。这样,每个应用程序都可以控制自己的日志记录提供程序,而您的类库类仅使用抽象。