首页 > 解决方案 > RequestDelegate 是一个端点吗?

问题描述

我是 asp.net core 3.0 的新手,在理解端点的概念方面很困难。https://docs.microsoft.com/en-us/aspnet/core/fundamentals/routing?view=aspnetcore-5.0 说:

端点可以是: a. 选择,通过匹配 URL 和 HTTP 方法。b.通过运行委托来执行。

下面是模板代码:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }

    app.UseRouting();

    app.UseEndpoints(endpoints =>
    {
        endpoints.MapGet("/", async context =>
        {
            await context.Response.WriteAsync("Hello World!");
        });
    });
}

我能说RequestDelegate

async context => {
   await context.Response.WriteAsync("Hello World!");
}

是端点?

标签: c#asp.net-coreasp.net-core-mvc

解决方案


我可以说 RequestDelegate

async context => {
   await context.Response.WriteAsync("Hello World!");
} 

是端点?

不,它是请求委托,而不是端点。当 HTTP GET 请求发送到根 URL /(端点)时:显示的请求委托执行。“你好世界!” 写入 HTTP 响应。

    endpoints.MapGet("/", async context =>
    {
        await context.Response.WriteAsync("Hello World!");
    });

但是,使用上面的代码,MapGet 方法定义了一个端点。正如文件所说:

在此处输入图像描述

此外,您还可以检查 MapGet 方法:

在此处输入图像描述


推荐阅读