ウィンドウサービスにsignalRを実装しました。
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));
}
}
例外:指定された入力に対してサーバーファクトリが見つかりませんでした:Microsoft.Owin.Host.HttpListener
Microsoft.Owin.Host.HttpListenerアセンブリは、WebApp.Startのランタイム参照です。ロードできるようにするには、プロジェクトの参照に含める必要があります。 bin\Debug(etc)ディレクトリを調べて、含まれていることを確認します。同様に、nuget依存関係として追加することもできます。
パッケージをインストールします。
PM> Install-Package -IncludePrerelease Microsoft.Owin.Host.HttpListener
次を使用して、NugetからMicrosoft.Owin.Host.HttpListenerパッケージをインストールします。
PM> Install-Package Microsoft.Owin.Host.HttpListener
(以前の回答とは異なり、-IncludePrerelease
量産コード内)