SignalR 自托管和 Asp.Net MVC

SignalR Self Hosted And Asp.Net MVC

我正在尝试制作一些自托管的 SignalR 应用程序(控制台)。但它不适用于 Asp.Net MVC 5,我搜索了所有内容。我实际上已经使用了 1 天,但仍然无法正常工作。

我在控制台和 Web 端都使用 SignalR 2.4.1。

控制台应用程序的启动代码是;

   class startup
    {
        public void Configuration(IAppBuilder app)
        {
            var hubConfiguration = new HubConfiguration();
            hubConfiguration.EnableDetailedErrors = true;
            hubConfiguration.EnableJSONP = true;
            HubException exception = new HubException();

            //app.UseCors(CorsOptions.AllowAll);
            app.MapSignalR(hubConfiguration);
            Console.WriteLine("hub started");
        }
    }

在主控制台上;

  class Program
    {
        static void Main(string[] args)
        {
            string url = @"http://localhost:5693";
            var web = WebApp.Start<startup>(url);

            Console.ReadLine();
        }
    }

测试中心是;

    public class testHub : Hub
    {
        public void hopeWorks()
        {
            Console.WriteLine("called");
            Clients.All.Work();
            Clients.Caller.Work();
        }
    }

客户端就是这样Javascript;

   $.connection.hub.start().done(function () {
                console.log("socket started");
            });

我附上了发送代码到按钮的消息,但它不起作用,所以我正在控制台上尝试。 我正在尝试从开发工具中调用它,它是

$.connection.testHub.server.hopeWorks();

并没有像图片显示的那样发生任何事情。

我不知道我还应该尝试什么,我什么都试过了。在 google 上搜索并浏览了下一页。

抱歉,顺便说一句英语。

我解决了这个问题。 我像这样更改了启动脚本并且它有效。

app.MapSignalR(hubConfiguration);

有了这个;

    app.Map("/signalr", map =>
            {
                HubConfiguration hcf = new HubConfiguration();
                map.RunSignalR();
            });

现在可以使用了。