• <noscript id="eom2a"><optgroup id="eom2a"></optgroup></noscript>
    <tt id="eom2a"><small id="eom2a"></small></tt>
    <input id="eom2a"></input>
  • <div id="eom2a"><small id="eom2a"></small></div>
    <td id="eom2a"><small id="eom2a"></small></td>
  • 您的位置:知識庫 ? .NET技術

    OWIN初探

    作者: 張志敏  發布時間: 2014-11-24 11:45  閱讀: 44152 次  推薦: 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技術最新文章

        最新新聞

          熱門新聞

            黄色网_免费在线黄色电影_黄色成人快播电影_伦理电影_黄色片