ASP.net:如何从CreateHostBuilder()中登录?

尿

我有一个ASP.net Core 3.1 Web应用程序。Program.cs该类中,我实现了CreateHostBuilder()类似于以下内容静态方法:

public static IHostBuilder CreateHostBuilder(string[] args) =>
    Host
        .CreateDefaultBuilder(args)
        .ConfigureAppConfiguration((context, config) =>
        {
            try 
            {
                // do some configuration work that might fail
            }
            catch (Exception ex)
            {
                // how can I write to a log from here?
            }
        })
        .ConfigureWebHostDefaults(webBuilder =>
        {
            webBuilder.UseStartup<Startup>();
        });
}

如果在配置应用程序时引发异常,如何ILogger在捕获时使用an记录它?

埃德

将记录器放置在Main方法之外,以使其可从CreateHostBuilder访问

using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.Hosting;
using NLog.Common;
using System;
using System.IO;

namespace WebApplication1
{
    public class Program
    {
        // Place your logger outside Main to make it accessible from CreateHostBuilder
        private static NLog.Logger logger;

        public static void Main(string[] args)
        {
            // Manually setup your desired logger.
            // I've used NLog for demonstration purposes but you can use your own preferred logger.
            var today = DateTime.Today.ToString("yyyy-MM-dd");
            var binDirectory = GetBinDirectory<Program>();
            var nLogInternalFullPath = Path.Combine(binDirectory, "NLog", $"{today}-internal.log");

            InternalLogger.LogFile = nLogInternalFullPath;

            // Assign logger. Make sure you have the file NLog.config
            // https://github.com/NLog/NLog/wiki/File-target
            logger = NLog.LogManager.LoadConfiguration("NLog.config").GetCurrentClassLogger();

            CreateHostBuilder(args).Build().Run();
        }

        public static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureAppConfiguration((context, config) =>
                {
                    try
                    {
                        // do some configuration work that might fail
                    }
                    catch (Exception ex)
                    {
                        // Log errors
                        logger.Error(ex, "Unhandled error in ConfigureAppConfiguration.");
                    }
                })
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });

        public static string GetBinDirectory<T>()
        {
            return Path.GetDirectoryName(typeof(T).Assembly.Location);
        }
    }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何通过单点登录在asp.net中获取Windows登录用户名

来自分类Dev

如何通过单点登录在asp.net中获取Windows登录用户名

来自分类Dev

Salesforce中的ASP.net登录超时

来自分类Dev

如何找出ASP.NET中当前登录用户的名称?

来自分类Dev

如何在Asp.net MVC中为每个登录创建会话ID?

来自分类Dev

我如何从ASP.NET Core中的控制器以外的其他类登录?

来自分类Dev

如何在ASP.NET表单身份验证中启用多次登录尝试?

来自分类Dev

如何更改身份asp.net MVC中的用户登录凭据?

来自分类Dev

如何在ASP.NET Core WebApi控制器中获取当前登录的用户

来自分类Dev

如何绕过ASP.NET帐户中的“使用本地帐户登录”页面?

来自分类Dev

如何找出ASP.NET中当前登录用户的名称?

来自分类Dev

如何在ASP.NET MVC 5中获取外部登录的电子邮件地址

来自分类Dev

如何在ASP.NET MVC 4中设置登录会话?

来自分类Dev

如何在asp.net MVC4中进行登录?

来自分类Dev

如何在ViewComponent Asp.Net Core中获取当前的登录用户

来自分类Dev

如何在 ASP.NET Core 中处理用于登录 SMTP 客户端的密码存储?

来自分类Dev

ASP.NET Core测试-没有方法'public static IHostBuilder CreateHostBuilder(string [] args)

来自分类Dev

ASP.NET身份登录

来自分类Dev

asp.net 登录会话

来自分类Dev

简单的 Asp.Net 登录

来自分类Dev

如何自定义ASP.Net登录控件的外观?

来自分类Dev

ASP.NET 4.5如何创建自定义登录?

来自分类Dev

如何在ASP.NET MVC中保存登录会话

来自分类Dev

Asp.net身份-如何维护登录用户角色?

来自分类Dev

如何使用 PHP cURL 登录 ASP.NET 网页?

来自分类Dev

ASP.Net MVC 后端如何知道用户是否登录

来自分类Dev

asp.net中的登录页面。查询有问题吗?

来自分类Dev

使用asp.net中的Web服务的网站登录表单

来自分类Dev

没有MVC的ASP.Net 4.0中的Facebook登录

Related 相关文章

  1. 1

    如何通过单点登录在asp.net中获取Windows登录用户名

  2. 2

    如何通过单点登录在asp.net中获取Windows登录用户名

  3. 3

    Salesforce中的ASP.net登录超时

  4. 4

    如何找出ASP.NET中当前登录用户的名称?

  5. 5

    如何在Asp.net MVC中为每个登录创建会话ID?

  6. 6

    我如何从ASP.NET Core中的控制器以外的其他类登录?

  7. 7

    如何在ASP.NET表单身份验证中启用多次登录尝试?

  8. 8

    如何更改身份asp.net MVC中的用户登录凭据?

  9. 9

    如何在ASP.NET Core WebApi控制器中获取当前登录的用户

  10. 10

    如何绕过ASP.NET帐户中的“使用本地帐户登录”页面?

  11. 11

    如何找出ASP.NET中当前登录用户的名称?

  12. 12

    如何在ASP.NET MVC 5中获取外部登录的电子邮件地址

  13. 13

    如何在ASP.NET MVC 4中设置登录会话?

  14. 14

    如何在asp.net MVC4中进行登录?

  15. 15

    如何在ViewComponent Asp.Net Core中获取当前的登录用户

  16. 16

    如何在 ASP.NET Core 中处理用于登录 SMTP 客户端的密码存储?

  17. 17

    ASP.NET Core测试-没有方法'public static IHostBuilder CreateHostBuilder(string [] args)

  18. 18

    ASP.NET身份登录

  19. 19

    asp.net 登录会话

  20. 20

    简单的 Asp.Net 登录

  21. 21

    如何自定义ASP.Net登录控件的外观?

  22. 22

    ASP.NET 4.5如何创建自定义登录?

  23. 23

    如何在ASP.NET MVC中保存登录会话

  24. 24

    Asp.net身份-如何维护登录用户角色?

  25. 25

    如何使用 PHP cURL 登录 ASP.NET 网页?

  26. 26

    ASP.Net MVC 后端如何知道用户是否登录

  27. 27

    asp.net中的登录页面。查询有问题吗?

  28. 28

    使用asp.net中的Web服务的网站登录表单

  29. 29

    没有MVC的ASP.Net 4.0中的Facebook登录

热门标签

归档