2014-01-16 8 views
7

私は、ホストとクライアントを作るC#(vs2013)上に小さなPOCアプリケーション(コンソールアプリケーション)を書きました。Windows上のSignalR自己ホスティングサービス

ホスト側のコード:

string url = "http://*:8900/"; 

using (WebApp.Start(url)) 
{ 
    Console.WriteLine("Server running at " + url); 
    lock (just4lock) 
     Monitor.Wait(just4lock); 
} 

私が「管理者として実行」と私の(コンソール)アプリケーションを実行していた場合にのみ働いています。

これで、このコードをWindowsサービスアプリケーションに移動したいと考えています。 「ローカルシステムアカウント」として

An unhandled exception of type 'System.MissingMemberException' occurred in Microsoft.Owin.Hosting.dll 

Additional information: The server factory could not be located for the given input: Microsoft.Owin.Host.HttpListener 

私のサービスを実行します。私は、Windowsサービス上の同じホストコードを実行しているとき、私はこのエラーを取得しています。私はそれを「管理者として実行」するオプションはありません。

管理者なしでSignalR自己ホスティングを行う方法をご存知ですか?

どうすればこのWindowsサービスを管理者として実行できますか?

ありがとうございます!

答えて

12

代わりに登録されたスタートアップオブジェクトを試しましたか?

WebApp.Start<Startup>(url); 

そして...

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

これは私たちのためだけで正常に動作...

+0

こんにちは私はクライアントにデータを返すためのWeb APIを持っているだけでなく、長時間実行されているタスクを処理するWindowsサービスを持っています。私はその後、SignalRサーバーを持つ必要がありますか? 1つは私のWeb API用、もう1つはWindowsサービス用です。もしそうなら、どうすればjavascriptクライアントでそれを処理できますか?ありがとうございます。 – VAAA

+2

こんにちは、これは本当に新しい質問ですが、上記の質問とは少し違っています。新しい質問をお寄せください。 – penderi

+0

@ No1Lives4Ever本当に助けてくれますか?私は同じ問題があり、それは私を助けるものではありません。スタートアップを別ファイルで作成しました。このプログラムを移動する必要がありますか? – RredCat

14

私は同じ問題を抱えていた、と私のためのソリューションは、ちょうどへの参照を追加しましたアセンブリMicrosoft.Owin.Host.HttpListenerを私のプロジェクトに組み込みます。

関連する問題