Szukam odpowiednika Jetty w kodzie zarządzanym przez Net Framework. Czy to istnieje? Chciałbym korzystać z biblioteki z aplikacji F #/C#/VB.net. "Nie wdrażaj swojej aplikacji na pomoście, użyj mola w swojej aplikacji."Pomost dla świata NET
Odpowiedz
Jakich wyrafinowanych API szukasz? Jeśli chodzi o proste zadania, myślę, że można uzyskać dość daleko tylko przy użyciu standardowego typu HttpListener
. Istnieje próbka MSDN, która hermetyzuje ją agentem F # (part 3), a następnie wykorzystuje go do utworzenia prostego serwera czatu (part 4).
Zasadnicza część serwera czatu wygląda dość prosta:
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 }
Bardziej zaawansowana biblioteka dostępna dla F # może być Frack (An wdrożenie otwartego interfejsu WWW dla .NET (OWIN), .NET Interfejs bramki serwera WWW, napisany w języku F #.) Wygląda to również na bardzo łatwy w użyciu.
działa również w aplikacji hostowanej automatycznie HttpListener w Win/.NET lub Mono/Linux (oprócz hosta ASP.NET).
Zapoznaj się z self-hosted wiki page, aby uzyskać proste przykłady korzystania z ServiceStack w aplikacjach C# lub F # Console.
Podobne pytanie zostało raz zadane: http://stackoverflow.com/questions/4268814/embedded-c-sharp-web-server – Jensen
Dziękuję bardzo! Pomaga mi. – dag
Możesz być także zainteresowany [ServiceStack] (http://servicestack.net/). Istnieje również kilka wymienionych tutaj frameworków, które są kompatybilne z [OWIN] (http://owin.org/). –