Обнаружена попытка подключения к серверу ASP. NET SignalR - PullRequest
0 голосов
/ 03 августа 2020

У меня есть приложение vuejs, созданное в vue -cli3 и ASP. Net WebAPI с SignalR, созданное в. Net Framework 4.6.x

Я возникла проблема с подключением к SignalR и возникла ошибка «Обнаружена попытка подключения к серверу ASP. NET SignalR. Этот клиент поддерживает подключение только к ASP. NET Core серверу SignalR».

По этой ссылке: Обнаружена ошибка попытки подключения , я должен использовать signalR вместо @ aspnet / signalr . Но когда я пытаюсь его использовать, теперь он выдает ошибку ссылки jquery. Стоит ли мне использовать здесь Jquery? Я уже на 2 дня застрял на этом.

Мой Vue Компонент:

import { HubConnectionBuilder, LogLevel } from 'signalr'
// import { HubConnectionBuilder, LogLevel } from '@aspnet/signalr' <--- I already tried this,same error
created() {
    const connection = new HubConnectionBuilder()
                  .withUrl('https://localhost:44356/chat-hub')
                  .configureLogging(LogLevel.Information)
                  .build()

    connection.start()
}

Мой Startup.cs

public void Configuration(IAppBuilder app)        
    {

        app.Map("/chat-hub",
            x =>
            {
                x.UseCors(CorsOptions.AllowAll);
                var hubConfig = new HubConfiguration
                {
                };

                x.RunSignalR(hubConfig);

            }
                            
        );

        app.MapSignalR();
        
    }

введите описание изображения здесь

1 Ответ

0 голосов
/ 03 августа 2020

Проблема в том, что вы использовали ASP. NET серверный компонент и. NET Core Client.

Их нельзя смешивать, так как они несовместимы.

Поскольку вы строите на. Net Framework 4.6.x и имеете сервер ASP. NET, вам необходимо загрузить ASP. NET клиент, который да, требует JQuery.

Если вы не хотите использовать JQuery, вам нужно будет сделать обратное и заменить компонент сервера на. NET Core 3.1 и оставить (обновить) таким же. NET Core Client. Имейте в виду, что это не простая замена, вам нужно будет обновить многие аспекты вашего кода.

...