7 款仿照 Sinatra 思路的 .NET 框架

东坡下载 2012年01月06日 12:01:33

      1. Martin Framework

      Martin Framework 是一个 .NET 的轻量级 Web 框架,灵感来自 Ruby 的 Sinatra

      Martin 基于映射 URL 到 Action 的思路,支持 GET, POST, PUT, DELETE 操作。

      2. OpenRasta

      OpenRasta 是一个简单的 REST 框架,基于 .NET 平台开发。灵感来自 Ruby 的 Sinatra 框架。

      3. Jessica

      Jessica 的灵感来自 Ruby 的微型框架 Sinatra ,采用 C# 开发。

      4. Manos

      Manos 是一个易用、易于测试、高性能的 .NET 的 Web 框架。

      示例代码:

      Route ("/timeout", ctx => {
      ctx.Response.WriteLine ("Hello");
      AddTimeout (TimeSpan.FromSeconds (2), (app, data) => {
      Console.WriteLine ("writing world.");
      ctx.Response.WriteLine ("World");
      ctx.Response.End ();
      });
      });

      5. Kayak

      Kayak 是一个用 C# 编写的异步 HTTP 服务器。示例代码:Program.cs

      6. Nina

      Nina 是一个 .NET 的微型 Web 框架,其思路来自 Ruby 的 Sinatra 框架。

      示例代码:

Post("/", (m,c)=>; { var url = Urls.Save(c.Request.Form["url"]); return Text(string.Format(@"<html><body>Your url: <a href='{0}'>{0}</a></body></html>", c.Request.Url +url)); });

      7. Nancy

      Nancy 是一个轻量级用于构建基于 HTTP 的 Web 服务,基于 .NET 和 Mono 平台。

      Nancy 设计用于处理 DELETE, GET, HEAD, OPTIONS, POST, PUT 和 PATCH 等请求方法,并提供简单优雅的 DSL 以返回响应。

      示例代码:

public class Module : NancyModule { public Module() { Get["/greet/{name}"] = x => { return string.Concat("Hello ", x.name); }; } }