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

龐順龍發表於2019-05-11

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);
        };
    }
}

龐順龍最後編輯於:4年前

內容均為作者獨立觀點,不代表八零IT人立場,如涉及侵權,請及時告知。

相關文章