ASP.NET Core基础之Main方法讲解

ASP.NET Core基础之Main方法讲解

在 ASP.NET Core 中,Main 方法是应用程序的入口点。在本攻略中,我们将介绍 ASP.NET Core 中 Main 方法的用法,包括如何配置应用程序和如何运行应用程序。以下是 ASP.NET Core 基础之 Main 方法讲解的完整攻略:

步骤一:创建 ASP.NET Core 应用程序

首先,需要创建一个 ASP.NET Core 应用程序。可以使用以下命令在命令行中创建一个名为“TestMain”的新 ASP.NET Core 应用程序:

dotnet new console -n TestMain

步骤二:配置应用程序

在 ASP.NET Core 中,可以使用 HostBuilder 类配置应用程序。以下是一个示例,演示如何使用 HostBuilder 类配置应用程序:

using Microsoft.Extensions.Hosting;

namespace TestMain
{
    class Program
    {
        static void Main(string[] args)
        {
            CreateHostBuilder(args).Build().Run();
        }

        static IHostBuilder CreateHostBuilder(string[] args) =>
            Host.CreateDefaultBuilder(args)
                .ConfigureWebHostDefaults(webBuilder =>
                {
                    webBuilder.UseStartup<Startup>();
                });
    }
}

在上面的代码中,我们使用 Host.CreateDefaultBuilder 方法创建一个默认的 HostBuilder 实例,并使用 ConfigureWebHostDefaults 方法配置 Web 主机。我们还使用 UseStartup 方法指定 Startup 类。

步骤三:创建 Startup 类

在 ASP.NET Core 中,Startup 类是应用程序的配置类。以下是一个示例,演示如何创建 Startup 类:

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.Extensions.DependencyInjection;

namespace TestMain
{
    public class Startup
    {
        public void ConfigureServices(IServiceCollection services)
        {
            services.AddControllers();
        }

        public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
        {
            app.UseRouting();

            app.UseEndpoints(endpoints =>
            {
                endpoints.MapControllers();
            });
        }
    }
}

在上面的代码中,我们使用 ConfigureServices 方法配置服务,并使用 AddControllers 方法添加 MVC 控制器。我们还使用 Configure 方法配置应用程序的请求管道,并使用 UseRouting 和 UseEndpoints 方法配置路由和端点。

示例一:使用默认的 Main 方法

以下是一个示例,演示如何使用默认的 Main 方法:

  1. 打开 Visual Studio。
  2. 创建一个名为“TestMain”的新 ASP.NET Core 应用程序。
  3. 在“TestMain”项目中,打开“Program.cs”文件,并将以下代码添加到该文件中:
using System;

namespace TestMain
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

在上面的代码中,我们使用默认的 Main 方法输出“Hello World!”。

  1. 在 Visual Studio 中,启动“TestMain”应用程序。
  2. 在控制台中,查看“Hello World!”是否已输出。

示例二:使用自定义的 Main 方法

以下是一个示例,演示如何使用自定义的 Main 方法:

  1. 打开 Visual Studio。
  2. 创建一个名为“TestMain”的新 ASP.NET Core 应用程序。
  3. 在“TestMain”项目中,打开“Program.cs”文件,并将以下代码添加到该文件中:
using Microsoft.Extensions.Hosting;

namespace TestMain
{
    class Program
    {
        static void Main(string[] args)
        {
            var host = new HostBuilder()
                .ConfigureServices((hostContext, services) =>
                {
                    services.AddHostedService<Worker>();
                })
                .Build();

            host.Run();
        }
    }
}

在上面的代码中,我们使用 HostBuilder 类创建一个自定义的 Main 方法,并使用 AddHostedService 方法添加一个名为“Worker”的托管服务。

  1. 在“TestMain”项目中,创建一个名为“Worker.cs”的新类文件,并将以下代码添加到该文件中:
using System.Threading;
using System.Threading.Tasks;
using Microsoft.Extensions.Hosting;
using Microsoft.Extensions.Logging;

namespace TestMain
{
    public class Worker : BackgroundService
    {
        private readonly ILogger<Worker> _logger;

        public Worker(ILogger<Worker> logger)
        {
            _logger = logger;
        }

        protected override async Task ExecuteAsync(CancellationToken stoppingToken)
        {
            while (!stoppingToken.IsCancellationRequested)
            {
                _logger.LogInformation("Worker running at: {time}", DateTimeOffset.Now);
                await Task.Delay(1000, stoppingToken);
            }
        }
    }
}

在上面的代码中,我们创建了一个名为“Worker”的托管服务,并使用 ILogger 接口记录日志。

  1. 在 Visual Studio 中,启动“TestMain”应用程序。
  2. 在控制台中,查看“Worker running at: {time}”是否已输出。

总结

在 ASP.NET Core 中,Main 方法是应用程序的入口点。可以使用 HostBuilder 类配置应用程序,并使用 Startup 类配置应用程序的请求管道。可以使用默认的 Main 方法或创建自定义的 Main 方法。可以使用 ILogger 接口记录日志。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.NET Core基础之Main方法讲解 - Python技术站

(0)
上一篇 2023年5月17日
下一篇 2023年5月17日

相关文章

  • C#中如何获取文件图标

    获取文件图标是C#中经常用到的一个功能,本篇攻略将介绍如何使用C#从操作系统中获取文件图标。 获取文件图标的方法 在C#中,我们可以使用如下两种方法来获取文件图标: 1.使用Icon.ExtractAssociatedIcon方法 Icon.ExtractAssociatedIcon方法用于从指定文件的关联程序中提取出图标: string filePath …

    C# 2023年6月1日
    00
  • C#串口通信实现方法

    下面为你讲解“C#串口通信实现方法”的完整攻略。 C#串口通信实现方法 串口通信简介 串口通信是指利用串口进行数据交流的过程。串口通信是电脑与外围设备进行数据传输的一种方式,常用传输的数据包括文本、文件、音视频等。串口通信的形式是通过串行通信口(即串口)来进行的,传输的数据被分为一串一串的,每串数据由字符组成,每个字符由 8 个比特位组成。串口通信具有以下一…

    C# 2023年6月1日
    00
  • C#不重复输出一个数组中所有元素的方法

    首先,我们需要定义一个数组用于存储元素,然后使用foreach循环遍历数组中的每一个元素,将其添加到一个HashSet中。由于HashSet不允许重复元素,所以最终我们得到的就是不重复的元素集合。 下面是实现该算法的C#代码: int[] arr = { 1, 2, 3, 4, 5, 3, 4, 1 }; HashSet<int> hs = ne…

    C# 2023年6月7日
    00
  • C# 正则表达式经典分类整理集合手册第1/3页

    C# 正则表达式经典分类整理集合手册 简介 C# 正则表达式是在.NET Framework类库中提供的一种字符串检索、匹配和替换的强大工具。该工具可以有效地处理文本数据,支持多种字符串操作方式,并且可以应用于多种编程环境中。 但是,因为 C# 正则表达式具有复杂的语法和规则,很容易让初学者在使用中遇到各种问题。为方便使用,本文融合了多种实际应用经验,以分类…

    C# 2023年6月6日
    00
  • C#几种截取字符串的方法小结

    下面是关于“C#几种截取字符串的方法小结”的完整攻略,包含两个示例。 1. C#几种截取字符串的方法 在C#中,有多种方法可以截取字符串。以下是常用的几种方法: 1.1. 使用Substring方法 可以使用Substring方法截取字符串的一部分。以下是一个示例: string str = "Hello, World!"; string…

    C# 2023年5月15日
    00
  • ASP.Net Core中的日志与分布式链路追踪

    ASP.NET Core中的日志与分布式链路追踪 在ASP.NET Core应用程序中,日志和分布式链路追踪是非常重要的方面。日志可以帮助我们记录应用程序的运行情况,以便在出现问题时进行故障排除。分布式链路追踪可以帮助我们跟踪应用程序中的请求,并了解它们在系统中的流动情况。在本攻略中,我们将深入讲解如何在ASP.NET Core应用程序中使用日志和分布式链路…

    C# 2023年5月17日
    00
  • C#中IDispose接口的实现及为何这么实现详解

    下面是关于C#中IDisposable接口的实现及为何这么实现的详解,包含两个示例说明。 什么是IDisposable接口 在C#中,当需要使用一些非托管资源时(例如文件、数据库连接、Socket等等),程序需要手动释放这些资源,否则会造成占用资源过多,程序出现异常或运行缓慢等问题。为了实现资源的自动释放,C#定义了IDisposable接口。 IDispo…

    C# 2023年6月6日
    00
  • C#如何给PPT中图表添加趋势线详解

    C#给PPT中图表添加趋势线可以使用Microsoft Office Primary Interop Assemblies(PIA)库,在C#中调用Office对象模型实现。下面是完整的攻略: 准备工作 安装Microsoft Office软件,如PowerPoint,确保安装了对应版本的Microsoft Office Primary Interop As…

    C# 2023年6月3日
    00
合作推广
合作推广
分享本页
返回顶部