Jerry
Jerry

Reputation: 1785

/signalr/hubs not being generated when upgrading to SignalR-2.0.0-beta2

I have a working chat like application running on SignalR 1.1.2 that will be put onto load balanced servers, so I need to implement a backplane solution to sync up the servers.

This is an ASP.NET MVC4 .NET 4.5 application. Using SignalR Hubs, and not Persistent Connection. The app utilizes AngularJS on the client side to handle the ui bindings and updates.

I've followed the steps listed out here to implement the sql server backplane and used the steps outlined in the 1.x to 2.0 migration outlined out here. The solution builds, but when hitting the page that utilizes SignalR the "/signalr/hubs" script reference returns a 500 error.

Here's a list of steps I took so far.

Startup.cs

using Microsoft.AspNet.SignalR;
using Microsoft.Owin;
using Owin;

namespace My.NameSpace
{
    public class Startup
    {
        public void Configuration(IAppBuilder app)
        {
            app.MapHubs();
        }
    }
}

My next step is to see if I can create a new solution with a very basic hub and see if I can get Signal 2.0 working. If it does I'll compare the two solutions to see what the differences are.

Does anyone have an idea of what else I could check or research to get this working?

Related StackOverflow questions with a similar issue: one, two

Upvotes: 7

Views: 7622

Answers (2)

Dunken
Dunken

Reputation: 8681

In my case IIS wasn't installed properly. I just had to reinstall it:

c:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i

Upvotes: 0

Jerry
Jerry

Reputation: 1785

Turns out the issue was fixed by changing the project config to use Local IIS Web server instead of Visual Studio Developer Server (Cassini).

Found the cause by going to /signalr/hubs url in my browser and seeing the server error which was

System.PlatformNotSupportedException: This operation requires IIS integrated pipeline mode.

Some googling turned up this page which said the error was caused by ASP.NET Development Server not supporting integrated pipeline mode.

You can change the server used by right clicking on the project, select properties, hit the web tab, and under the servers section select "Use Local IIS Web server".

Upvotes: 12

Related Questions