Vue js - SignalR 2.4.3 «connect» url неверен

Я успешно реализовал SignalR с клиентом Vue.js и сервером .NET Framework 4.8. В среде разработки все работает отлично. Однако при развертывании в другой среде возникает проблема. URL-адрес сервера содержит несколько слешей, и, похоже, соединение SignalR их игнорирует. В то время как методы согласования и прерывания используют правильный URL-адрес, метод подключения — нет. Проверьте скриншоты. Есть ли способ гарантировать, что соединение всегда использует правильный URL-адрес?

Клиент Vue Js.:

согласоватьподключить

Я ожидал, что URL-адрес не изменится. Почему вызов "negotiate" использует правильный URL, а вызов "connect" — нет?

 var signalrConnection = $.hubConnection("https://api-dev.***.com/qai/api/***");
      var hub = signalrConnection.createHubProxy('eventsHub');
    
      hub.on("started", (data) => {
        _that.$store.dispatch('started', { id: data.prId })
      });

signalrConnection.start({withCredentials: false, transport: ["serverSentEvents", "longPolling"]}).done(() => {
        console.log("Connected, transport = " + signalrConnection.transport.name);       
        hub.invoke("RegisterForWebNotifications",this.$route.query.id );
      }).fail((err) => console.error(err));
 app.Map("/signalr", map =>
 {
     map.UseCors(CorsOptions.AllowAll);
     var hubConfiguration = new HubConfiguration
     {
         EnableDetailedErrors = true,
         Resolver = container.Resolve<Microsoft.AspNet.SignalR.IDependencyResolver>(),
         EnableJSONP = true,
         EnableJavaScriptProxies = true
     };

     map.RunSignalR(hubConfiguration);
     GlobalHost.DependencyResolver = hubConfiguration.Resolver;
 });
Александра
Вопрос задан16 июля 2024 г.

1 Ответ

2
Ювеналий
Ответ получен5 сентября 2024 г.

Ваш ответ

Загрузить файл.