Fehler beim Laden der Signalgeberbaugruppe OWIN

8

Ich erhalte diesen Fehler beim Versuch, Klassen in der Microsoft.AspNet.SignalR.Owin Assembly zu laden.

Die Ausnahme, die nach der Ausführung ausgelöst wird, verlässt die Methode Configuration in startup.cs . Ich habe einen Global Exception Handler registriert, um zu versuchen, die Ausnahme abzufangen, aber sie wird nicht abgefangen.

%Vor%

config.Services.Replace(typeof(IExceptionHandler), new GlobalExceptionHandler());

die Methode Application_Error in Global.asax fängt es auch nicht

%Vor%

Ich habe versucht, die Assembly neu zu installieren, aber ohne Erfolg.

Es gibt zwei andere Fragen zu SO aber keine Lösungen

Trotz der Konfiguration von Visual Studio, um alle möglichen Arten von Ausnahmen zu umgehen, wird dies immer noch nicht abgefangen. Der einzige Ort, an dem ich feststellen kann, dass eine Ausnahme aufgetreten ist, ist im Ausgabefenster. In den Ereignisprotokollen wird nichts protokolliert.

Für Informationen verwendet dies VS 2015

  

SignalR.ReflectedHubDescriptorProvider Warnung: 0: Einige der   Klassen aus Assembly "Microsoft.AspNet.SignalR.Owin, Version = 1.2.2.0,   Culture = neutral, PublicKeyToken = 31bf3856ad364e35 "konnte nicht geladen werden   bei der Suche nach Hubs. [... \ Microsoft.AspNet.SignalR.Owin.dll]

     

Ursprünglicher Ausnahmetyp: ReflectionTypeLoadException

     

Ursprüngliche Ausnahmebedingungsnachricht: Kann einen oder mehrere der   angeforderte Typen Rufen Sie die LoaderExceptions-Eigenschaft für mehr ab   Informationen.

EDIT: Ich führe die neuesten Signalr-Pakete

Installierte Signalgeber-Pakete

Autofac.SignalR v 3.0.2

Microsoft.AspNet.SignalR v2.2.0

Microsoft.AspNet.SignalR.Core v2.2.0

Microsoft.AspNet.SignalR.JS v2.2.0

Microsoft.AspNet.SignalR.Owin v1.2.2

Microsoft.AspNet.SignalR.SelfHost v2.2.0

Microsoft.AspNet.SignalR.SystemWeb v2.2.0

    
MrBliz 15.09.2015, 15:59
quelle

4 Antworten

7

Was Sie sehen, ist ein Protokolleintrag, der erstellt wird von: ReflectedHubDescriptorProvider

%Vor%

Die Ausnahme kann durch eine fehlende Abhängigkeit in einer der geladenen Assemblys verursacht werden, der Signalcode wiederholt alle Ihre Assemblies. Die Ursache kann also in einem der aktuell geladenen Assemblies liegen. Interessant: Get-All-Type-in-a-Assembly und How-to-reflection-type-extension-execute-while-calling -assembly-gettypes erläutert die try catch-Konstruktion, die im ReflectedHubDescriptorProvider verwendet wird. Es ignoriert nur die Klassen / Hubs, die nicht von der Microsoft.AspNet.SignalR.Owin-Assembly geladen werden können.

Die ReflectionTypeLoadException enthält eine LoaderExceptions. Um auf sie zuzugreifen, können Sie den Quellcode herunterladen und eine Ablaufverfolgung für die ex.LoaderExceptions hinzufügen oder einen Haltepunkt hinzufügen der Quellcode.

    
Peter 24.09.2015 14:55
quelle
5

Ich habe dieses Problem "behoben", indem ich ein neues Projekt erstellt und alles auf das neue kopiert habe und die Pakete erneut installiere.

Ich erhalte diesen Fehler nicht mehr, aber meine Signaler-Probleme sind nicht verschwunden, also sieht es so aus, als wäre es ein Ablenkungsmanöver.

    
MrBliz 26.09.2015 13:30
quelle
4

Schön zu hören, dass Sie das Problem mit dem Laden der Baugruppe behoben haben. Hier sind einige Tipps, die Ihnen helfen können, es zum Laufen zu bringen!

Protokollierung aktivieren

Um SignalR-Probleme zu beheben, ist es am besten, Server & amp; Clientseitige Protokollierung.

Kundenseite:

%Vor%

Serverseite:

%Vor%

Hier sind die vollständigen Anweisungen:

Ссылка

Überprüfen Sie Ihren Code und beheben Sie das Problem

Hier ist eine Liste häufiger Fehler, die Sie überprüfen sollten:

  • Fehlgeschlagene Methode, falsche Methodensignatur oder falscher Hubname;
  • Doppelte Methodenname auf dem Client;
  • Mixing Hub und PersistentConnection-Syntax;
  • Verbindung wurde vor dem Hinzufügen von Abonnements gestartet;
  • Fehlender Methodenname auf dem Hub-Proxy;
  • Hub- oder Hub-Methoden, die nicht als öffentlich deklariert sind;
  • Daten manuell serialisieren;
  • Verbindungslimit erreicht;
  • Domänenübergreifende Verbindung ist nicht ordnungsgemäß eingerichtet;

Hier finden Sie einen vollständigen Artikel zur Fehlerbehebung von SignalR-Problemen mit Codebeispielen: Ссылка

    
Kaspars Ozols 28.09.2015 20:38
quelle
2

Sie müssen mein Microsoft.Owin.Security-Paket mit diesem Befehl auf 2.1.0 aktualisieren

Install-Paket Microsoft.Owin.Security -Version 2.1.0

Und ändern Sie die Bindungen in meiner App.config wie folgt

& lt; assemblyIdentity name="Microsoft.Owin.Security" publicKeyToken="31bf3856ad364e35" culture="neutral" / & gt;

& lt; bindingRedirect oldVersion="0.0.0.0-2.1.0.0" newVersion="2.1.0.0" / & gt;

    
Manraj 28.09.2015 11:59
quelle