Note that there are some explanatory texts on larger screens.

plurals
  1. POSignalR (with self hosted Nancy) shows 404 for negotiate?clientProtocol=1.3
    primarykey
    data
    text
    <p>I am trying to run SignalR in Nancy in a console app.</p> <p>When my browser does <code>$.connection.hub.start()</code> it gets <code>404 - NotFound</code> for <code>//localhost:667/negotiate?clientProtocol=1.3</code></p> <p>----8&lt;----</p> <p>I am (trying) running Nancy on one port and SignalR on another. Nancy works with Razor. SignalR returns the hub javascript alright.</p> <p>(Sorry for the amount of code below but I haven't been able to reduce it further.)<br> (This question might be recognized from an earlier - now deleted question that I had labeled badly.)</p> <p>Client code:</p> <pre><code> &lt;script type="text/javascript" src='/Scripts/jquery-1.6.4.min.js'&gt;&lt;/script&gt; &lt;script type="text/javascript" src="/Scripts/jquery.signalR-2.0.0-beta2.js"&gt;&lt;/script&gt; &lt;script src="http://localhost:667/signalr/hubs" type="text/javascript"&gt;&lt;/script&gt; var chat; $(function () { $.connection.hub.url = '//localhost:667'; $.connection.hub.logging = true; chat = $.connection.chat; chat.client.addMessage = onAddMessage; // declared but not here $.connection.hub.start() .done(function () { alert($.connection.id); chat.server.send('Works!'); }) .fail(function ( failreason ) { alert( failreason ); }); }); </code></pre> <p>Server code (in console program running as admin)</p> <pre><code>class Program { static void Main(string[] args) { const string webUrl = "http://localhost:666"; const string signalrUrl = "http://localhost:667"; using (var webHost = new Nancy.Hosting.Self.NancyHost( new Uri(webUrl) )) { using (WebApp.Start&lt;Startup&gt;(signalrUrl)) { webHost.Start(); Console.Write("Press any key"); Console.ReadKey(); webHost.Stop(); } } } } class Startup { public void Configuration(Owin.IAppBuilder app) { app.MapHubs(new HubConfiguration() { EnableCrossDomain = true }); app.UseNancy(new ApplicationBootstrapper()); } } public class ApplicationBootstrapper : DefaultNancyBootstrapper { protected override void ConfigureConventions( Nancy.Conventions.NancyConventions nancyConventions) { nancyConventions.StaticContentsConventions.Add( Nancy.Conventions.StaticContentConventionBuilder.AddDirectory( "Scripts", @"/Scripts") ); base.ConfigureConventions(nancyConventions); } } public class Chat : Hub { public void Send(string message) { Clients.All.addMessage(message); } } </code></pre>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload