日志记录 – 如何在ASP.NET MVC 6中注册ILogger进行注入
发布时间:2020-12-16 00:21:36 所属栏目:asp.Net 来源:网络整理
导读:我有一个ASP.NET MVC 6(beta-4)应用程序。 public void ConfigureServices(IServiceCollection services){ // Logging services.AddLogging(); // ...}public void Configure(IApplicationBuilder app,IHostingEnvironment env,ILoggerFactory loggerfactory
我有一个ASP.NET MVC 6(beta-4)应用程序。
public void ConfigureServices(IServiceCollection services) { // Logging services.AddLogging(); // ... } public void Configure(IApplicationBuilder app,IHostingEnvironment env,ILoggerFactory loggerfactory) { // Add the console logger. loggerfactory.AddConsole(minLevel: LogLevel.Warning); // ... } 我有一个控制器 public class HomeController : Controller { ILogger _logger; public HomeController(ILogger logger) { _logger = logger; } // ... } 但是当我没有正确地得到服务注册时:InvalidOperationException:尝试激活“HomeController”时,无法解析“Microsoft.Framework.Logging.ILogger”类型的服务。注册该记录器时我做错了什么? 解决方法
我假设services.AddLogging();正在做正确的事情并注册ILogger。在查看源(
https://github.com/aspnet/Logging/blob/d874c5726e713d3eb34938f85faf7be61aae0f2a/src/Microsoft.Framework.Logging/LoggingServiceCollectionExtensions.cs)后,我发现它实际上是注册ILogger<>。将ILogger的签名更改为ILogger< HomeController>使上述示例工作。
public class HomeController : Controller { ILogger<HomeController> _logger; public HomeController(ILogger<HomeController> logger) { _logger = logger; } // ... } 感谢@Steve在正确的轨道上找到我。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-mvc – MVC视图中的多个表单:ModelState应用于所有
- asp.net – 需要一个Web表单示例编辑带子项的父实体对象
- asp.net – 是否有可能过滤SignalR中的接收器?
- asp.net-core – 从ASP.NET Core 2.1应用程序中删除“Serve
- asp.net – iis将子域重定向到同一子域的子文件夹
- ASP.net:如何测试LINQ查询
- ASP.NET中的重定向问题
- asp.net-mvc – 如何从asp.net MVC 4应用程序中的FileResul
- asp.net-mvc – 从Html.RouteLink生成绝对URL
- Visual Studio Git本地Repos和GitHub远程Repos互操作