J'ai implémenté signalR dans le service de fenêtre.
private IDisposable SignalR { get; set; }
public void Configuration(IAppBuilder app)
{
var hubconfig=new Microsoft.AspNet.SignalR.HubConfiguration();
hubconfig.EnableJSONP = true;
app.UseCors(CorsOptions.AllowAll);
app.MapSignalR(hubconfig);
}
private void StartSignalRServer(StringBuilder sbLog)
{
try
{
this.SignalR = WebApp.Start(ServerURI); //This throws exception
//this.SignalR= WebApp.Start<Startup>(ServerURI);
sbLog.Append(string.Format("{0}--------SignalR Server Started------",Environment.NewLine));
}
catch (Exception ex)
{
sbLog.Append(string.Format("{0}Exception in StartSignalRServer=>{1}", Environment.NewLine,ex.Message));
}
}
Exception: la fabrique de serveurs n'a pas pu être localisée pour l'entrée donnée: Microsoft.Owin.Host.HttpListener
L'assembly Microsoft.Owin.Host.HttpListener est une référence d'exécution dans WebApp.Start. Vous devez l'inclure dans les références du projet pour qu'il soit disponible pour le chargement. Vérifiez le répertoire bin\Debug (etc) pour vous assurer qu'il est inclus. Peut aussi bien l'ajouter en tant que dépendance nuget.
Installez le package:
PM> Install-Package -IncludePrerelease Microsoft.Owin.Host.HttpListener
Installez le package Microsoft.Owin.Host.HttpListener à partir de Nuget en utilisant:
PM> Install-Package Microsoft.Owin.Host.HttpListener
(contrairement à une réponse antérieure, vous devez éviter d'utiliser -IncludePrerelease
dans le code de production)