.NET Core Console App Hosting Signalr Hub Причины GetStreamItemType не имеет исключения реализации - PullRequest
1 голос
/ 03 октября 2019

Я пытаюсь разместить концентратор Signalr в моем консольном приложении .NET Core 3.0. То, что я кодировал, заключается в следующем. Когда я запускаю, я получаю исключение «GetStreamItemType не имеет реализации».

static void Main(string[] args)
{
     BuildWebHost(args).Run();
}

public static IWebHost BuildWebHost(string[] args) => WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().Build();

public class Startup
{
    public void ConfigureServices(IServiceCollection services)
    {
        services.AddSignalR(); 
    }

    public void Configure(IApplicationBuilder app, Microsoft.Extensions.Hosting.IHostEnvironment env)
    {
        app.UseSignalR(routes =>  
        {
            routes.MapHub<Connector>("/connector");
        });
    }
}

Connector - это мой класс-концентратор, производный от Microsoft.AspNetCore.SignalR.Hub. Когда приложение запускается, я получаю следующее исключение и не могу понять, почему.

System.TypeLoadException
  HResult=0x80131522
  Message=Method 'GetStreamItemType' in type 'Microsoft.AspNetCore.SignalR.Internal.DefaultHubDispatcher`1' from assembly 'Microsoft.AspNetCore.SignalR.Core, Version=1.1.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' does not have an implementation.
  Source=Microsoft.AspNetCore.SignalR.Core
  StackTrace:
   at Microsoft.Extensions.DependencyInjection.SignalRDependencyInjectionExtensions.AddSignalRCore(IServiceCollection services) in /_/src/Microsoft.AspNetCore.SignalR.Core/SignalRDependencyInjectionExtensions.cs:line 36

Ответы [ 2 ]

0 голосов
/ 29 октября 2019

Когда выдается эта ошибка, убедитесь, что у вас одинаковые версии Microsoft.AspNetCore.SignalR и Microsoft.AspNetCore.SignalR.Client

0 голосов
/ 09 октября 2019

Я сдался при поиске причины и попытке понять исключение GetStreamItemType. Наконец, я создал пустое .NET Core Web App и перенес свой код из консольного приложения в это новое приложение.

...