title: SignalR 2.0 error /signalr/hubs 404 (Not Found) when using IIS
body: <p>I'm having some issues with SignalR 2.0 in EPiServer 7.5 (a MVC4 framework). All I get is a 404 error</p>
  
  <blockquote>
    <p>GET <a href="http://web.com/signalr/hubs" rel="noreferrer">http://web.com/signalr/hubs</a> 404 (Not Found)</p>
  </blockquote>
  
  <p>I'm hosting everything on a Windows 2012 R2 Server. Also noteworthy is that <strong>the solution works when running everything in IIS Express from Visual Studio but not in IIS 8.5</strong>.</p>
  
  <p>What I've done so far is to add the SingalR references. </p>
  
  <ul>
  <li>Microsoft.AspNet.SignalR.Client, 2.0.0.0</li>
  <li>Microsoft.AspNet.SignalR.Core, 2.0.0.0</li>
  <li>Microsoft.AspNet.SignalR.System.Web, 2.0.0.0</li>
  <li>Microsoft.OWin, 2.1.0.0</li>
  <li>Microsoft.OWin.Host.SystemWeb, 2.1.0.0</li>
  <li>Microsoft.Owin.Security, 2.0.0.0</li>
  <li>Owin, 1.0.0.0</li>
  </ul>
  
  <p><strong>Startup.cs</strong></p>
  
  <p>The startup is intitialized on application start so that seems  to work.</p>
  
  <pre><code>[assembly: OwinStartup(typeof(Web.Startup))]
  namespace Web
  {
      public class Startup
      {
          #region Local variables
  
          private static readonly ILog Logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
  
          #endregion
  
          #region Methods
  
          /// &lt;summary&gt;
          /// Configure SignalR
          /// &lt;/summary&gt;
          /// &lt;param name="app"&gt;&lt;/param&gt;
          public void Configuration(IAppBuilder app)
          {
              try
              {
                  Logger.MethodCallEntry();
  
                  // Any connection or hub wire up and configuration should go here
                  //app.MapSignalR(); // Doesn't work either
                  var hubConfiguration = new HubConfiguration
                  {
                      EnableDetailedErrors = true,
                      EnableJavaScriptProxies = false
                  };
  
                  app.MapSignalR("/signalr", hubConfiguration);
              }
              catch (Exception ex)
              {
                  Logger.Error("Failed to initialize or map SignalR", ex);
              }
              finally
              {
                  Logger.MethodCallExit();
              }
          }
  
          #endregion
      }
  }
  </code></pre>
  
  <p><strong>Script inclusion</strong></p>
  
  <pre><code>&lt;script src="/Static/Frameworks/Scripts/jquery-1.10.2.js"&gt;&lt;/script&gt;
  &lt;script src="/Static/Frameworks/Scripts/knockout-3.0.0.js"&gt;&lt;/script&gt;
  &lt;script src="/Static/Frameworks/Scripts/modernizr.2.7.0.js"&gt;&lt;/script&gt;
  &lt;script src="/Static/Frameworks/Scripts/jquery.signalR-2.0.1.js"&gt;&lt;/script&gt;
  &lt;!-- also tried path ~/signalr/hubs --&gt;
  &lt;script src="/signalr/hubs"&gt;&lt;/script&gt;
  </code></pre>
  
  <p>This is not a solution updated from 1.x SignalR!</p>