简体   繁体   中英

SignalR: Error loading hubs

Signalr doesn't load my hubs:

SignalR: Error loading hubs. Ensure your hubs reference is correct, e.g. <script src='/signalr/js'></script>. 

I am calling app.MapSignalR(); in startup configuration .

I added to my cshtml:

<script src="~/Scripts/jquery-1.9.1.js"></script>
<script src="~/Scripts/jquery.signalR-2.0.0.js"></script>
<script src="~/signalr/hubs" type="text/javascript"></script>

<script>

    $(document).ready(function () {
        window.hubReady = $.connection.hub.start();
    });

</script>

Make sure your startup class has this attribute:

[assembly: OwinStartup(typeof(MyStartupClass))]

You can define your Owin startup class in your web.config as well:

<appSettings>  
    <add key="owin:appStartup" value="MyNamespace.MyStartupClass" />
</appSettings>

Visit your site, ex http://localhost/signalr/hubs , and see if you can get a better error description there. My problem was that I had a generic method in my hub.

public void Update<T>(T objectToUpdate) where T : class

Also make sure to add in your Startup class:

app.MapSignalR();

Solved my issue

Server has to know where your startup class is

One option is like Rob wrotes:

[assembly: OwinStartup(typeof(MyStartupClass))]

But there are other possibilies up to your requiremens. From Microsoft Docs (docs.microsoft.com/en-us/aspnet/core/fundamentals/startup):

Alternatively, you can define a fixed Startup class that will be used regardless of the environment by calling UseStartup. This is the recommended approach.

Example:

public class Program
    {
        public static void Main(string[] args)
        {     
          BuildWebHost(args).Run();   
        }

        public static IWebHost BuildWebHost(string[] args) =>
            WebHost.CreateDefaultBuilder(args)
                .UseStartup<Startup>()
                .Build();
    }

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM