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 方法:
- 打开 Visual Studio。
- 创建一个名为“TestMain”的新 ASP.NET Core 应用程序。
- 在“TestMain”项目中,打开“Program.cs”文件,并将以下代码添加到该文件中:
using System;
namespace TestMain
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
在上面的代码中,我们使用默认的 Main 方法输出“Hello World!”。
- 在 Visual Studio 中,启动“TestMain”应用程序。
- 在控制台中,查看“Hello World!”是否已输出。
示例二:使用自定义的 Main 方法
以下是一个示例,演示如何使用自定义的 Main 方法:
- 打开 Visual Studio。
- 创建一个名为“TestMain”的新 ASP.NET Core 应用程序。
- 在“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”的托管服务。
- 在“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 接口记录日志。
- 在 Visual Studio 中,启动“TestMain”应用程序。
- 在控制台中,查看“Worker running at: {time}”是否已输出。
总结
在 ASP.NET Core 中,Main 方法是应用程序的入口点。可以使用 HostBuilder 类配置应用程序,并使用 Startup 类配置应用程序的请求管道。可以使用默认的 Main 方法或创建自定义的 Main 方法。可以使用 ILogger 接口记录日志。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:ASP.NET Core基础之Main方法讲解 - Python技术站