ASP.NET CORE 没有 app.UseEndpoints() 方法

Ove*_*red 5 c# asp.net signalr asp.net-core

现在刚刚学习 ASP.NET Core,在一些指南中我看到了 app.UseEndpoints() 方法。

但是当我创建我的 ASP NET CORE 项目时,我只在 StartUp.cs 中看到了 app.Run

  1. 所以我需要为此安装一些实用程序还是删除了 UseEndPoints?
  2. 我怎样才能实现这种方法 app.UseEndpoints(endpoints => { endpoints.MapHub<ChatHub>("/chat"); });

Mat*_*ech 4

如果您使用的是 Net Core 2.1,则必须这样配置:

using Microsoft.AspNetCore.Builder;
using Microsoft.AspNetCore.Hosting;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.DependencyInjection;
using SignalRChat.Hubs;

namespace SignalRChat
{


public class Startup
{
    public Startup(IConfiguration configuration)
    {
        Configuration = configuration;
    }

    public IConfiguration Configuration { get; }


    public void ConfigureServices(IServiceCollection services)
    {
        services.AddMvc().SetCompatibilityVersion(CompatibilityVersion.Version_2_1);
        services.AddSignalR();
    }


    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {

        app.UseSignalR(routes =>
        {
            routes.MapHub<ChatHub>("/chat");
        });
        app.UseMvc();
    }
}

}
Run Code Online (Sandbox Code Playgroud)

仅3.0版本以后可以使用app.UseEndpoints

app.UseEndpoints(endpoints =>
        {              
            endpoints.MapHub<ChatHub>("/chat");
        });
Run Code Online (Sandbox Code Playgroud)

请参阅文档:

ASP.NET 核心 2.1

ASP.NET 核心 3.0 +