1. <video id="z7bfh"></video>

            您的位置:知識庫 ? .NET技術

            OWIN初探

            作者: 張志敏  發布時間: 2014-11-24 11:45  閱讀: 44386 次  推薦: 33   原文鏈接   [收藏]  

              什么是 OWIN ?

              

              OWIN 是一個開源開放的標準, 有助于建設 .NET 開發的開源生態環境,OWIN 定義了如下幾個概念:

              為什么使用 OWIN

              正如上面所說, OWIN 定義了 .NET Web 服務器與 .NET Web 應用之間的標準接口, 將應用與服務器 解耦, 使得便攜式 .NET Web 應用以及跨平臺的愿望成為現實, 標準的 OWIN 應用可以在任何 OWIN 兼容的服務器上運行, 不再依賴與 Windows 和 IIS 。

              怎么使用 OWIN

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

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

              OWIN Hello

            2. 然后打開項目屬性, 確認目標框架設置為 Mono/.NET 4.5 , 如下圖所示:

            3. 向項目中添加如下幾個 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

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

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

              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. 現在開始運行程序, 命令行顯示如下:

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

              OWIN Hello

              到目前為止, 沒有 Windows , 更沒有 IIS , OWIN 應用就能正常運行了。

            33
            1
            標簽:OWIN

            .NET技術熱門文章

              .NET技術最新文章

                最新新聞

                  熱門新聞

                    中文大香蕉在线影院