2012-11-08 1 views
6

私はNet Frameworkの世界管理コードでJetty相当品を探しています。それは存在しますか?私はF#/ C#/ VB.netアプリケーションからライブラリを使いたいと思います。 "アプリケーションをJettyにデプロイしないで、アプリケーションにJettyをデプロイしてください。"Jetty for NET world

+1

似たような質問が一度尋ねられました:http://stackoverflow.com/questions/4268814/embedded-c-sharp-web-server – Jensen

+0

ありがとう!それはわたしを助ける。 – dag

+2

あなたは[ServiceStack](http://servicestack.net/)に興味があるかもしれません。また、ここには[OWIN](http://owin.org/)と互換性のあるいくつかのフレームワークがあります。 –

答えて

5

あなたは洗練されたAPIを探していますか?簡単な作業のためには、標準HttpListenerタイプを使用するだけでかなり遠くになると思います。 F#エージェント(part 3)でカプセル化し、それを使って簡単なチャットサーバー(part 4)を作成するMSDNサンプルがあります。

チャットサーバのコア部分は、非常に簡単になります。

let handleRequest (context:HttpListenerContext) = async { 
    match context.Request.Url.LocalPath with 
    | "/post" -> 
     // Send message to the chat room 
     room.SendMessage(context.Request.InputString) 
    | "/chat" -> 
     // Get messages from the chat room (asynchronously!) 
     let! text = room.AsyncGetContent() 
     context.Response.Reply(text) 
    | s -> 
     // Omitted: handle file request } 

F#のために利用可能な、より高度なライブラリーは、.NETのためのオープンWebインターフェイス(OWIN)、.NETのFrack(実装かもしれませんWeb Server Gateway Interface、F#で書かれています)。これも非常に使いやすいようです。

4

ServiceStackもWin/.NETまたはMono/Linux(ASP.NETホストに加えて)の自己ホストHttpListenerアプリケーション内で実行されます。

C#またはF#コンソールアプリケーションでServiceStackを実行する簡単な例については、self-hosted wiki pageを参照してください。