.NET輕量級MVC框架:Nancy入門教程(一)——初識Nancy

  當咱們要接到一個新的項目的時候,咱們第一時間想到的是用微軟的MVC框架,可是你是否想過微軟的MVC是否是有點笨重?咱們這個項目用MVC是否是有點大材小用?有沒有能夠替代MVC的東西呢?看到這裏也許你會反問我,微軟的MVC到底什麼地方很差了?這個暫且不說,咱們先認識一下Nancy,來了解一下他和MVC的不一樣。html

 

 1、Nancy簡介

  什麼是Nancy呢?若是你學習過Ruby的話,就會知道Ruby中有個框架叫作Sinatra,Nancy就是Sinatra的.Net版本。若是你感受微軟的MVC過於笨重、過於繁瑣,那麼Nancy可能就是你苦苦尋找的東西。git

  • Nancy是一個輕量級的獨立的框架,下面是官網的一些介紹:
  • Nancy 是一個輕量級用於構建基於 HTTP 的 Web 服務,基於 .NET 和 Mono 平臺,框架的目標是保持儘量多的方式,並提供一個super-duper-happy-path全部交互。
  • Nancy 設計用於處理 DELETEGETHEADOPTIONSPOSTPUT 和 PATCH 等請求方法,並提供簡單優雅的 DSL 以返回響應。
  • Nancy和Asp.net MVC原理類似,但有本身的一套路由機制,在使用上更加易用,能夠用Nancy快速開發一些網站。
  • Nancy並不依賴任何現有的框架,因此他能夠運行在任何平臺上面。

   下面是官方文檔的一些說明:(我的表示E文很差,本身能夠看懂點,翻譯出來就感受不是那麼回事了,這裏就不獻醜了,你們簡單看看吧)github

     

  關於super-duper-happy-path,官網也給出瞭解釋,下面是部份內容:瀏覽器

 

哪位英語好的,給你們翻譯下,分享一下哈~~我這裏就不廢話了!下面給出Nancy的官網地址,你們能夠看下:app

  Nancy官網地址:http://nancyfx.org/框架

  GitHub文檔地址:https://github.com/NancyFx/Nancy/wiki/Documentation函數

 

 2、建立第一個Nancy項目

  下面咱們來寫一個Nancy的Hello,world項目,來學習一下Nancy的簡單使用,打開Visual Studio,新建空Web項目:學習

     

選擇空模板,點擊肯定,建好項目之後,接下來咱們開始經過Nuget安裝Nancy,一共須要安裝下面三個包,代碼以下:網站

  Install-Package Nancy   //Nancyspa

  Install-Package Nancy.Hosting.Aspnet  //Nancy For Asp.net

  Install-Package Nancy.Viewengines.Razor //提供Razor視圖支持,感受很意外吧,咱們還能夠繼續使用Razor

  安裝完成後,咱們開始搭建項目的基本結構,首先Nancy也是有本身的規則的,Nancy工程中控制器的部分必須放在Modules文件夾中,視圖部分必須放在Views文件夾中,因此在項目中添加兩個文件夾Modules和Views,再分別添加HomeModule類和Razor頁面Home,添加完成後項目結構如圖:

View這裏先不用,先建好準備着,下面咱們來顯示Hello,world,打開HomeModule.cs,修改其代碼以下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using Nancy;

namespace NancyStudy.Modules
{
    public class HomeModule : NancyModule
    {
        //注意:這裏是構造函數
        public HomeModule()
        {
            Get["/"] = parameters => "Hello World";
        }
    }

}

首先咱們引入Nancy的命名空間,而後咱們的類要繼承自NancyModule,在ASP.NET MVC中全部控制器都繼承Controller,在Nancy中,一樣全部的‘控制器’都必須繼承NancyModule類。

注意:在Nancy中,全部的的路由信息都是在構造方法中的,當程序運行時,會遍歷全部全部的構造方法,若是出現路由信息相同時,默認選擇最後遍歷的那一個。

好了,就這麼多代碼,Views裏面的東西先不去管它,咱們按F5,運行項目,編譯經過,而後再瀏覽器中輸入以下信息:

到這裏,咱們就成功的寫完了Nancy的Hello,world,是否是很簡單啊~~

下面,咱們來顯示剛剛新建的View,咱們修改Home.cshtml的內容,以下:

<!DOCTYPE html>
<html>
<head>
    <meta name="viewport" content="width=device-width" />
    <title>Nancy</title>
</head>
<body>
    <div>
        <h1>Hello,Nancy!</h1>
    </div>
</body>
</html>

在修改咱們的構造方法,以下:

 public class HomeModule : NancyModule
    {
        //注意:這裏是構造函數
        public HomeModule()
        {
            Get["/"] = p =>
            {
                return View["/Home"];
            };
        }
    }

好了,按F5運行,瀏覽器顯示結果如圖:

 

這裏要注意的是瀏覽器地址欄,必定是網站根目錄,不是指向咱們的Home.cshtml文件,不然會提示找不到頁面,如圖:

這是由於你在打開Home.cshtml的頁面按下了F5,Visual Studio將頁面指向了當前編輯頁面,這個你們應該都知道的,在這裏說明一下,不然在這裏搞半天不知道錯在哪,是件很鬱悶的事。

好了,今天就先說到這裏,下一篇繼續咱們的Nancy學習~~

 

 做者:雲霏霏

 博客地址:http://www.cnblogs.com/yunfeifei/

 聲明:本博客原創文字只表明本人工做中在某一時間內總結的觀點或結論,與本人所在單位沒有直接利益關係。非商業,未受權,貼子請以現狀保留,轉載時必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接。

相關文章
相關標籤/搜索