永久免费看黄A片无码软件,japanese 在线观看国产,强奷高H猛烈失禁潮喷播放,亚洲成精品自拍

rexian

咨詢電話:023-6276-4481

熱門文章

聯(lián)系方式

電 話:023-6276-4481

郵箱:broiling@qq.com

地址:重慶市南岸區(qū)亞太商谷6幢25-2

當(dāng)前位置:網(wǎng)站首頁 > 技術(shù)文章 > OWIN初探

OWIN初探

編輯:Ethan 發(fā)表時(shí)間:2017-08-10 09:01:14
Ethan

什么是 OWIN ?

  OWIN 的全稱是 "Open Web Interface for .NET", OWIN 在 .NET Web 服務(wù)器和 .NET Web 應(yīng)用之間定義了一套標(biāo)準(zhǔn)的接口, 其目的是為了實(shí)現(xiàn)服務(wù)器與應(yīng)用之間的解耦, 鼓勵為 .NET Web 應(yīng)用開發(fā)簡單模塊。

  OWIN 是一個開源開放的標(biāo)準(zhǔn), 有助于建設(shè) .NET 開發(fā)的開源生態(tài)環(huán)境,OWIN 定義了如下幾個概念:

  • 服務(wù)器 (Server)

    HTTP 服務(wù)器直接與客戶端交互, 并用 OWIN 語義處理請求,服務(wù)器需要一個適配層將客戶請求轉(zhuǎn)換 成 OWIN 語義。 支持 OWIN 的服務(wù)器有 Katana 和 Nowin 。

  • Web 框架 (Web Framework)

    構(gòu)建在 OWIN 之上的自包含的獨(dú)立組件, 向 Web 應(yīng)用提供可用的對象模型或者接口。 Web 框架可 能需要一個適配層來轉(zhuǎn)換 OWIN 語義。 支持 OWIN 的 Web 框架有:

  • Web 應(yīng)用 (Web Application)

    一個特定的 Web 應(yīng)用, 通常構(gòu)建在 Web 框架之上, 使用 OWIN 兼容的服務(wù)器運(yùn)行。

  • 中間件 (Middleware)

    特定目的的服務(wù)器和應(yīng)用之間的可插拔組件, 可以監(jiān)視、 路由、 修改請求與響應(yīng)。

  • 宿主 (Host)

    應(yīng)用與服務(wù)器所在的進(jìn)程, 主要負(fù)責(zé)應(yīng)用的啟動, 有些服務(wù)器自身也是宿主, 比如 Nowin 。

  為什么使用 OWIN

  正如上面所說, OWIN 定義了 .NET Web 服務(wù)器與 .NET Web 應(yīng)用之間的標(biāo)準(zhǔn)接口, 將應(yīng)用與服務(wù)器 解耦, 使得便攜式 .NET Web 應(yīng)用以及跨平臺的愿望成為現(xiàn)實(shí), 標(biāo)準(zhǔn)的 OWIN 應(yīng)用可以在任何 OWIN 兼容的服務(wù)器上運(yùn)行, 不再依賴與 Windows 和 IIS 。

  怎么使用 OWIN

  OWIN 通過 NuGet 包的形式發(fā)布, 獲取和使用都非常方便。 下面就先建立一個最簡單的 OWIN 應(yīng)用:

  1. 打開 Xamarin Studio, 新建一個 C# 命令行程序, 如下圖所示:

    241140147316560.png

  2. 然后打開項(xiàng)目屬性, 確認(rèn)目標(biāo)框架設(shè)置為 Mono/.NET 4.5 , 如下圖所示:

    241141441842165.png

  3. 向項(xiàng)目中添加如下幾個 NuGet 包:

    • Owin

    • Microsoft.Owin

    • Microsoft.Owin.Hosting

    • Microsoft.Owin.Host.HttpListener

  4. 添加一個 OWIN Startup 類, 代碼如下:

    public class Startup {    public void Configuration(IAppBuilder appBuilder) {
            appBuilder.Run(HandleRequest);
        }    static Task HandleRequest(IOwinContext context) {
            context.Response.ContentType = "text/plain";        return context.Response.WriteAsync("Hello, world!");
        }
    }

    OWIN 約定的處理請求的代理類型是:

    Func<IOWinContext, Task> handler

    對應(yīng)上面 Startup 類的 HandleRequest 方法, 所以上面的 Startup 類就定義了一個最簡單的 OWIN 應(yīng)用, 向客戶端輸出 Hello, World!

  5. 在自動生成的 Program.cs 文件中的 Main 方法中添加如下代碼, 來啟動 OWIN 應(yīng)用:

    class MainClass {    public static void Main(string[] args) {        var url = "http://localhost:8080/";        var startOpts = new StartOptions(url) {
    
            };        using (WebApp.Start<Startup>(startOpts)) {
                Console.WriteLine("Server run at " + url + " , press Enter to exit.");
                Console.ReadLine();
            }
        }
    }
  6. 現(xiàn)在開始運(yùn)行程序, 命令行顯示如下:

    241142127621001.png

    打開瀏覽器, 訪問 http://localhost:8080/ , 得到的響應(yīng)如下:

    241140146375588.png

  到目前為止, 沒有 Windows , 更沒有 IIS , OWIN 應(yīng)用就能正常運(yùn)行了。