【问题标题】:ASP.NET CORE Don't have app.UseEndpoints() MethodASP.NET CORE 没有 app.UseEndpoints() 方法
【发布时间】:2020-04-24 08:19:12
【问题描述】:

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

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

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

【问题讨论】:

标签: c# asp.net asp.net-core signalr


【解决方案1】:

如果您使用的是 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();
    }
}

}

只有 3.0 以后的版本才能使用 app.UseEndpoints

app.UseEndpoints(endpoints =>
        {              
            endpoints.MapHub<ChatHub>("/chat");
        });

查看文档:

ASP.NET Core 2.1

ASP.NET Core 3.0 +

【讨论】:

    【解决方案2】:

    如果您正在学习,最好从当前的 .NET Core 版本开始,即 3.1。 2.1 根本没有端点路由,端点路由的工作始于 2.2,但我认为这主要是在幕后,没有像UseEndpoints() 那样暴露给消费者代码。在 3.1 中,Sean 的回答适用 - 您通常只需在 csproj 中指定 &lt;Project Sdk="Microsoft.NET.Sdk.Web"&gt; 即可获得正确的 NuGet 包含。

    【讨论】:

      【解决方案3】:

      如果您使用的是 .NET Core 3.1 版本,那么您需要确保:

      using Microsoft.AspNetCore.Builder;

      在文件中,您需要(直接或间接)引用Microsoft.AspNetCore.Routing 程序集。

      【讨论】:

      • 我使用 .NET Core 2.1,并且我在项目中使用了 Builder,但它不起作用
      猜你喜欢
      • 2020-02-14
      • 2021-12-17
      • 2020-07-02
      • 1970-01-01
      • 2016-10-27
      • 2021-03-28
      • 2020-08-23
      • 1970-01-01
      • 2018-12-10
      相关资源
      最近更新 更多