Nancy .Net 輕量級mvc框架使用(1)搭建一個簡單專案

龐順龍發表於2019-05-11

Nancy .Net 輕量級mvc框架使用(1)搭建一個簡單專案

.Net-Nancy技術群 159277055

demo見附件

1、新建專案,可以用nancy模板,也可以自己建立空專案,我這裡測試空專案搭建

2、使用nuget獲取nancy框架類庫引用

我這裡只新增了:

nancy框架

nancy.Hosting.Aspnet

nancy.viewengines.razor

新增完成後回到專案web.config,我們會發現專案配置中已經新增了nancy的引用等

3、在專案中新增views(頁面資料夾)、module(控制器程式碼資料夾)、common(公共層

4、新增index.cshtml頁面,修改為nancy頁面引擎


5、新增Bootstrapper.cs類到common資料夾中,繼承DefaultNancyBootstrapper來實現對專案檔案和資源的訪問控制和載入

public class Bootstrapper : DefaultNancyBootstrapper
{
    protected override void ConfigureApplicationContainer(TinyIoCContainer container)
    { }

    protected override void ConfigureRequestContainer(TinyIoCContainer container, NancyContext context)
    {
        base.ConfigureRequestContainer(container, context);
    }

    protected override void ApplicationStartup(TinyIoCContainer container, IPipelines pipelines)
    {
        base.ApplicationStartup(container, pipelines);
        JsonSettings.DefaultCharset = "utf-8";
        Nancy.Json.JsonSettings.MaxJsonLength = 20971520;
        StaticConfiguration.EnableRequestTracing = true;
        StaticConfiguration.DisableErrorTraces = false;
        Csrf.Enable(pipelines);
        CookieBasedSessions.Enable(pipelines);
    }

    protected override void RequestStartup(TinyIoCContainer requestContainer, IPipelines pipelines, NancyContext context)
    { }

    protected override void ConfigureConventions(NancyConventions nancyConventions)
    {
        nancyConventions.ViewLocationConventions.Clear();
        //定義頁面層可訪問性
        nancyConventions.ViewLocationConventions.Add((viewName, model, context) => string.Concat("Views/", viewName));
    }
}
6、新增IndexModule.cs類到module資料夾來實現控制器內碼表面,請求型別為Get,所有這裡直接寫 Get["路徑"],後續演示Post等方式請求

public class IndexModule : NancyModule
{
    public IndexModule()
    {
        //首頁
        Get["/"] = parameters => ReturnHomeAction();
    }

    public dynamic ReturnHomeAction()
    {
        return View["Index"];
    }
}

7、完成後專案結構如下:

8、編譯通過後啟動專案如下:

這樣,一個簡單的nancy 框架mvc專案就完成了,這裡演示的只是nancy的搭建,不涉及到實際專案的架構。

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

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

相關文章