De serverfabriek kon niet worden gevonden voor de opgegeven invoer: Microsoft.Owin.Host.HttpListener

Ik heb signalR geïmplementeerd in window-service.

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));
        }
}

Uitzondering: de serverfabriek kon niet worden gevonden voor de opgegeven invoer:
Microsoft.Owin.Host.HttpListener


Antwoord 1, autoriteit 100%

De Microsoft.Owin.Host.HttpListener-assembly is een runtime-referentie in WebApp.Start. U moet het opnemen in de referenties van het project om het beschikbaar te hebben om te worden geladen. Controleer de map bin\Debug (etc) om er zeker van te zijn dat deze is opgenomen. Kan het net zo goed als een nuget-afhankelijkheid toevoegen.


Antwoord 2, autoriteit 42%

Installeer het pakket:

PM> Install-Package Microsoft.Owin.Host.HttpListener

Antwoord 3, autoriteit 11%

Installeer het Microsoft.Owin.Host.HttpListener-pakket van Nuget met:

PM> Install-Package Microsoft.Owin.Host.HttpListener

(in tegenstelling tot een eerder antwoord moet u het gebruik van -IncludePrereleasein productiecode vermijden)


Antwoord 4

Ik ben dezelfde fout tegengekomen.

In project A — ik start een webservice met WebApp.Start() in een functie.
In Project B — ik noem hier de functie van project A. Helaas is Project B niet het opstartproject van mijn .Net-oplossing.
Project C is mijn .Net Solution-opstartproject.

Als ik nuget-pakket installeer met de opdracht Install-Package Microsoft.Owin.Host.HttpListener in het opstartproject van de oplossing, d.w.z. Project, C, werkt het prima. Als ik hetzelfde doe in Project B, werkt het niet. Wees dus voorzichtig bij het installeren van het nuget-pakket.

Other episodes