6

NetFrameworkの世界で同等のJettyを探しています-マネージコード。それは存在しますか?F#/ C#/VB.netアプリケーションのライブラリを使用したいと思います。「アプリケーションをJettyにデプロイするのではなく、Jettyをアプリケーションにデプロイしてください。」

4

2 に答える 2

5

どれだけ洗練された API をお探しですか? HttpListener単純な作業であれば、標準タイプだけでもかなりいけると思います。これを F# エージェントでカプセル化し (パート 3 )、それを使用して単純なチャット サーバーを作成する MSDN サンプルがあります (パート 4 )。

チャット サーバーのコア部分はかなり単純に見えます。

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# で使用できるより高度なライブラリは、Frack (F# で記述された .NET Web サーバー ゲートウェイ インターフェイスである Open Web Interface for .NET (OWIN) の実装) かもしれません。これも非常に使いやすいようです。

于 2012-11-08T17:32:41.033 に答える
4

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

C# または F# コンソール アプリで ServiceStack を実行する簡単な例については、自己ホスト型の wiki ページを参照してください。

于 2012-11-09T00:32:54.790 に答える