2016-06-25 6 views
0

auf Ich verwende signalR in meiner Anwendung. Dies ist die Konfiguration IMeine Hub-Klasse ruft nicht mit dem Signal R

<script src="Scripts/jquery-1.6.4.js" type="text/javascript"></script> 
    <script src="Scripts/jquery.signalR-2.2.0.js" type="text/javascript"></script> 
    <script src="signalr/hubs" type="text/javascript"></script> 
    <script type="text/javascript"> 

     var data = $.connection.Hubclass; 
     alert(data); // data is undefine 
    </script> 

Meine Nabe Klasse als Gebrüll ist

public class Hubclass :Hub 
{ 
    public void getdata(string msg) 
    { 
     Clients.All.send(msg); 
    } 

} 

Ich Startklasse in Owin als Gebrüll

[assembly: OwinStartup(typeof(Startup1))] 

    public class Startup1 
    { 
     public void Configuration(IAppBuilder app) 
     { 
      app.MapSignalR(); 

     } 
    } 

haben:

Dies ist der Client-Seite Code Verwenden Sie in web.config:

<appSettings> 
    <add key="owin:appStartup" value="Startup1" /> 
    </appSettings> 

In der Global.asax Klassendatei ich diesen Code auch hinzufügen:

RouteTable.Routes.MapHubs(); 

Wenn ich die Anwendung Feuer, das ist der Fehler, den ich bekommen:

Error CS0619 'SignalRRouteExtensions.MapHubs(RouteCollection)' is obsolete: 'Use IAppBuilder.MapSignalR in an Owin Startup class. See http://go.microsoft.com/fwlink/?LinkId=320578 for more details

+0

Sie nicht die Appsetting und mapHubs Methode brauchen um loszulegen. Versuchen Sie, das zuerst zu entfernen und versuchen Sie es erneut. Sie können auch Ihren Post aktualisieren und uns mitteilen, welche Version von SignalR Sie verwenden? – hbulens

+0

Ich benutze Signal r Version 2.2.0. wenn ich appsetting und mapHub entferne, gibt es einen Fehler: 'hubclass' Hub konnte nicht aufgelöst werden. Beschreibung: Bei der Ausführung der aktuellen Webanforderung ist eine nicht behandelte Ausnahme aufgetreten. Bitte überprüfen Sie die Stack-Trace für weitere Informationen über den Fehler und wo es aus dem Code stammt. Ausnahmedetails: System.InvalidOperationException: 'Hubclass' Hub konnte nicht aufgelöst werden –

+0

Versuchen Sie, das HubName-Attribut dann zu Ihrer HubClass hinzuzufügen. – hbulens

Antwort

0

wenn ich erinnere mich richtig Client-Proxy ist Kamel verrohrten (erzeugt oder dynamisch), so sollten Sie

$.connection.hubclass 

oder in dem Hub Klassennamen attrib verwenden ute

[HubName("Hubclass")] 

und auch brauchen Sie nicht Set signalr Routen von RouteTable.Routes.MapHubs owin Middleware für Sie Routing wird handhaben ...

EDIT: Vielleicht können Sie überprüfen, ob Ihre generierten Proxy-Download war Bitte überprüfen Sie Ihre Netzwerk-Registerkarte in Ihrem Browser, indem Sie die Anfrage signlar/hubs richtig stellen. Wenn nicht, kann es sein Problem mit OWIN intialization, vielleicht haben Sie Namespace oder angezeigten Namen an appconfig für die richtige Startklassenerkennung gesetzt haben, überprüfen startup detection

<add key="owin:appStartup" value="StartupDemo.ProductionStartup" /> 
Verwandte Themen