Как подключиться из JavaScript к SignalR в кросс-домене? - PullRequest
0 голосов
/ 01 октября 2019

У меня есть приложение signalR, которое слушает различные клиенты, такие как C #, JavaScript, позже мы можем расширить его для других технологий. Мой сервер signalR находится в консольном приложении. прямо сейчас я создал .net клиент, который успешно подключен к серверу. Я много пытался написать клиент javascript, но мне это не удалось. пожалуйста, помогите мне исправить это. 1. Я создал файл server.Js, выполнив команду signalr.exe ghp /path: и включил его в страницу Js2. Я использую версию 2.0.1 для Owin и SignalR3. пробовал с сервером URL http://127.0.0.1:8088/signalr и http://127.0.0.1:8088

Вот мой код сервера

[assembly: Microsoft.Owin.OwinStartup(typeof(Program.Startup))]   
    namespace SignalRServer
    {
        internal class Program
        {
            private static IDisposable SignalR;

            private static void Main(string[] args)
            {
                string url = "http://127.0.0.1:8088/signalr";
                SignalR = WebApp.Start(url);
                Console.ReadKey();
            }

            public class Startup
            {
                public void Configuration(IAppBuilder app)
                {
                    app.UseCors(CorsOptions.AllowAll);
                    app.MapSignalR();
                }
            }

            [HubName("MyHub")]
            public class MyHub : Hub
            {
                public void Send(string name, string message)
                {
                    Console.WriteLine($"{name}:{message}");
                    Clients.All.addMessage(name, message);
                }
            }
        }
    }

Мой код клиента JS

var con = $.hubConnection('http://127.0.0.1:8088');  
   alert(con);
      var hub = con.createHubProxy('MyHub');          
      con.start().done(function () {
      alert('Now connected, connection ID=' + connection.id);
  });
      hub.invoke('Send');
...