2013-07-01 18 views
10

誰もMonoのスタンドアロン非同期Web API(asp.net Web API)ベースのサービスをホストして成功(生産コード)していますか?スタンドアロンでは、asp.netの外部のコンソールアプリケーションでAPIをホストすることを意味します。Monoのスタンドアロン非同期Web API

私はREST APIを作成する簡単な方法を探しています。実際にはC#5のトップデータレイヤーからトップのHTTPレイヤーにスタック非同期(C#5スタイル)そのような良いサポートをしています。

通常、私はServiceStackに行ってLinux上のデーモンとしてホストしますが、ServiceStackは(私が知る限り)新しいC#5非同期のものをサポートしていないので、 Monoで非同期Web APIをホストしました。

私はServiceStackの途中にいくつかの非同期ブランチがあることは知っていますが、準備はできていません。また、ServiceStackにはいくつかのasynconewayものがありますが、これは非同期ベースの新しいタスクC#5のもの。

モノで自己ホスト型の非同期Web APIを使用してRESTサービスを作成するのに十分な安定性があるかどうか、またはMonoでスタンドアロンホスティングを実行するときに同期ServiceStackを使用する方が良いのですか?

答えて

9

を使用してください。 Web APIはMono(まだ)ではうまくサポートされていません。ナンシー、あなたが好きになります。

public Module() 
{ 
    Get["/greet/{name}"] = async x => { 
     await Task.Delay(5000); 
     return string.Concat("Hello ", x.name); 
    }; 
} 
+0

ありがとうございました。 id NancyFc asyncはまだベータですが、それは思われます。 Web Apiはモノで無用ですか? –

+0

Web API&MVC 4のサポートは、私が知る限り、完全ではありません。時折例外が発生することがあります。 NancyFx非同期もまだベータですので、現時点でMonoには完璧なソリューションはありません。 –

+2

ナンシー非同期サポートは技術的にはベータですが、実際には数か所で生産されていますが、これまでに集計例外をアンラッピングしていた唯一のバグはあります。 –

4

ない正確にスタンドアロンのアプリケーションが、Running ASP.NET Web API services under Linux and OS Xに、このチュートリアルをチェックするには、UNIXベースのOSからASP.netのWeb APIを実行する方法を示しています。

関連する問題