Ошибка 405 SignalR (метод не разрешен) - согласование - PullRequest
0 голосов
/ 30 апреля 2019

здесь, под моей средой:

  • Javascript веб-клиента с Mvc .NetCore 2.2
  • WebAPI в Web api .Net Core 2.2
  • Аутентификация AzureAd с помощью openid

У нас возникли некоторые проблемы с подключением SignalR.

С Attempt 1 мы можем использовать правильноsignalR в нашей среде разработки (localhost), но при развертывании его в рабочей среде мы получили ошибку:

" Соединение WebSocket с 'wss: // xxxxxxxxx: 60000 / PushNotificationHub? access_token =' fail: fail:Ошибка во время рукопожатия WebSocket: неожиданный код ответа: 400"

Попытка 1

connessioneServizioChat = new signalR.HubConnectionBuilder().withUrl(puntatori.url.applicazioneApiCore + "PushNotificationHub", {
            accessTokenFactory: () => sicurezza.dati.tokenAutenticazioneWebApi,
            skipNegotiation: true,
            transport: signalR.HttpTransportType.WebSockets
        }).build();

Поэтому мы пытаемся избежать типа транспорта" websocket "срешение ниже:

 connessioneServizioChat = new signalR.HubConnectionBuilder()
            .withUrl(puntatori.url.applicazioneApiCore + "PushNotificationHub")
            .configureLogging(signalR.LogLevel.Information)
            .build();

В этом случае у нас также есть проблема в среде разработки:

signalrNew.min.js: 16 ВАРИАНТОВ https://localhost:60000/PushNotificationHub/negotiate 405(Метод не разрешен)

Мы не понимаем, ЧТО НГОметод tiate и как решить нашу проблему.

Может кто-нибудь помочь нам?

Спасибо

1 Ответ

0 голосов
/ 02 мая 2019

Через 2 дня мы нашли решение.Проблема была в сервере IIS.В нашем тестовом сервере у нас был Windows Server 2008 с IIS 7.5.Но IIS 7.5 не поддерживает WebSocket, потому что он был представлен в IIS 8.0.

...