导航

7 款仿照 Sinatra 思路的 .NET 框架《转载》

Posted on 2012-03-09 16:52  kingwangzhen  阅读(175)  评论(0编辑  收藏  举报

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 设计用于处理 DELETEGETHEADOPTIONSPOSTPUT 和 PATCH 等请求方法,并提供简单优雅的 DSL 以返回响应。

示例代码:

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

 

Java 版的框架请看:http://www.oschina.net/question/12_35901

更多关于Sinatra的详细信息