2016-06-20 6 views
0

Ich lese dieses hervorragende Tutorial: http://www.asp.net/signalr/overview/getting-started/tutorial-server-broadcast-with-signalr.Tutorial: Server Broadcast mit SignalR 2

Ich heruntergeladen dann das NuGet Beispielpaket Microsoft.AspNet.SignalR.Sample 2.2.0 (https://www.nuget.org/packages/microsoft.aspnet.signalr.sample), und dann habe ich erstellt neue asp.net MVC 5 Projekt mit vs 2015 mit einer Indexseite.

Ich nehme an, dass app.MapSignalR() in der Startup.Configuration Methode aufgerufen wird.

Wie viele Leute, die ich den Fehler bekam: ticker.client is undefined.

Das eigentliche Problem ist die var ticker = $.connection.stockTicker, ist immer null, weil $.connection keine stockTicker Eigenschaft definiert wurde - weil die Nabe nicht instanziieren.

Kennt jemand den Grund für diesen Fehler?

Das orignial Tutorial ist http://www.asp.net/signalr/overview/getting-started/tutorial-server-broadcast-with-signalr ich mein Beispielprojekt Reißverschluss meines offen Microsoft Onedrive Gastgeber: https://onedrive.live.com/embed?cid=11357B31E08CCFEE&resid=11357B31E08CCFEE%21107&authkey=ALMOtmTFdCdsyV8

Der „SignalR.Sample“ Verzeichnisinhalt in der Lösung in asp.net Mvc zu integrieren 4/5 der Grunde Vorlage ist/6 Projekt. Also integriere ich es in die Views/Home/Index.cshtml Seite. Js Referenzen sind in Datei Views/Shared/_Layout.cshtml.

Genaues Problem ist var Ticker = $ .connection.stockTicker ist Null (keine Verbindung mit dem Server initialisiert).

Wenn Sie mir helfen können, danke ich Ihnen.

Antwort

2

Ja, Sie haben die Skripte jQuery und Stockticker in Ihrem _Layout hinzugefügt, aber Sie haben die Signalgeber/Hubs nicht hinzugefügt. Die Skripte müssen in genau dieser Reihenfolge geladen werden:

<script src="~/Scripts/jquery.signalR-2.2.0.js"></script> 
<script src="~/signalr/hubs"></script> 
<script src="~/Scripts/SignalR.StockTicker.js"></script> 

Referenz: ASP.NET SignalR Hubs API Guide - JavaScript Client

0

Stellen Sie sicher, dass die JavaScript-Datei verweist in StockTicker.html korrekt sind. Stellen Sie also sicher, dass die jQuery-Version in Ihrem Skript-Tag (1.10.2 im Beispiel) mit der jQuery-Version im Scripts-Ordner Ihres Projekts übereinstimmt, und stellen Sie sicher, dass die SignalR-Version in Ihrem Skript-Tag identisch ist SignalR-Version im Scripts-Ordner Ihres Projekts. Ändern Sie bei Bedarf die Dateinamen in den Skript-Tags.

0

Stellen Sie sicher, dass Sie Any CPU als aktive Lösungsplattform haben. Ich habe es auf x64 umgestellt und das hat es so gemacht, dass SignalR nicht geladen werden konnte, da es eine falsche Plattform hatte.

Verwandte Themen