Asp.Net Core 項目實戰之權限管理系統(0) 無中生有

0 Asp.Net Core 項目實戰之權限管理系統(0) 無中生有css

1 Asp.Net Core 項目實戰之權限管理系統(1) 使用AdminLTE搭建前端html

2 Asp.Net Core 項目實戰之權限管理系統(2) 功能及實體設計前端

3 Asp.Net Core 項目實戰之權限管理系統(3) 經過EntityFramework Core使用PostgreSQLgit

4 Asp.Net Core 項目實戰之權限管理系統(4) 依賴注入、倉儲、服務的多項目分層實現github

5 Asp.Net Core 項目實戰之權限管理系統(5) 用戶登陸json

6 Asp.Net Core 項目實戰之權限管理系統(6) 功能管理windows

7 Asp.Net Core 項目實戰之權限管理系統(7) 組織機構、角色、用戶權限瀏覽器

8 Asp.Net Core 項目實戰之權限管理系統(8) 功能菜單的動態加載mvc

github源碼地址app

0 前言

http://www.cnblogs.com/fonour/p/5848933.html

學習的最好方法就是動手去作,這裏以開發一個普通的權限管理系統的方式來從零體驗和學習Asp.net Core。項目的總體規劃大體以下:

技術路線

  • Asp.net Core Mvc
  • EntityFrameworkCore
  • Bootstrap AdminLTE
  • PostgreSQL

實現功能

  • 組織機構管理
  • 角色管理
  • 用戶管理
  • 功能管理
  • 權限管理

1 開發環境準備

一、安裝Visual Studio 2015,我這裏安裝的是專業版。

二、安裝.NET Core SDK相關

須要安裝Visual Studio 2015 update3和NET Core 1.0.0 - VS 2015 Tooling

2 新建項目

打開Visual Studio 2015,選擇項目保存路徑,輸入項目名稱及解決方案名稱,新建一個Asp.Net Core Web Application (.NET Core)項目。

1

爲了更好的理解Asp.net Core的一些東西,我這裏選擇了空模板

2

建立好的項目是長這個樣子的

3

解決方案中相關文件大體說明

  • wwwroot      存放js,css,images等靜態資源
  • Program.cs   應用程序入口
  • Startup.cs    應用程序相關啓動項配置,包含ConfigureServices和Configure兩個方法,前者負責服務的配置,後者負責http請求管道的配置。
  • project.json  項目的基礎配置文件

刪除示例頁面Project_Readme.html,此時咱們直接F5運行程序,界面輸出HelloWorld,這是由於Stratup.cs中

        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.Run(async (context) =>
            {
                await context.Response.WriteAsync("Hello World!");
            });
        }

3 Mvc基本應用

3.0 添加MVC依賴項引用

添加MVC引用有兩種方法。

1 經過project.json

打開project.json文件,在dependencies部門增長Microsoft.AspNetCore.Mvc的引用,當你輸入時,Visual Studio會有自動的提示,很是貼心方便。

"dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.0",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",
    
    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    "Microsoft.AspNetCore.Mvc": "1.0.0"
  },

2 經過NuGet

經過NuGet管理器搜索Microsoft.AspNetCore.Mvc添加引用,或直接在程序包管理器控制檯輸入命令Install-Package Microsoft.AspNetCore.Mvc便可完成Mvc引用的添加。

3.1 添加控制器

右鍵添加項目文件夾,命名爲Controllers,右鍵Controllers文件夾,添加一個名字爲HomeController的控制器。

1

3.2 添加視圖

右鍵項目添加Views文件夾,右鍵Views文件夾添加一個Home文件夾,與HomeController控制器相對應,在Home文件夾下新建一個名稱爲Index的視圖文件。

1

將Index.cshtml的內容修改成

<h1>Hello,Asp.Net Core MVC</h1>

3.3 添加MVC服務及Http請求管道處理

1 添加MVC服務

修改Startup.cs的ConfigureServices方法以下

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddMvc();
        }

2 添加Http請求管道處理

修改Startup.cs的Configure方法以下

        public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory)
        {
            loggerFactory.AddConsole();

            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            app.UseMvcWithDefaultRoute();
            //app.Run(async (context) =>
            //{
            //    await context.Response.WriteAsync("Hello World!");
            //});
        }

F5運行程序,能夠看到已經能夠按照mvc的默認路由機制解析了。

1

4 Asp.Net Core默認的兩種寄宿方式

Asp.Net Core應用程序默認提供IIS服務和Kestrel服務兩種寄宿方式,意味着Asp.Net Core應用程序能夠脫離IIS運行,這也是跨平臺的基礎。在Program.cs文件中能夠看到這種服務的添加。

        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }

Visual Studio的默認啓動選項爲IIS Express,即採用IIS服務方式,咱們能夠經過如下兩種方式使用Kestrel服務運行咱們的程序

1 在VS的啓動選項中選擇咱們的項目名稱同名的選項,而後F5運行。

1

2 在項目文件夾根目錄,按住Shift鍵,點擊鼠標右鍵,單擊「在此處打開命令窗口」菜單,輸入dotnet run命令。

1

會提示應用程序服務已經啓動,而且地址爲http://localhost:5000,咱們打開瀏覽器輸入這個地址,能夠看到頁面輸出了咱們預期的結果,與使用IIS服務是一樣的效果。

能夠在Program.cs經過使用UseUrls方法修改應用程序的地址。

        public static void Main(string[] args)
        {
            var host = new WebHostBuilder()
                .UseKestrel()
                .UseUrls("http://localhost:8000")
                .UseContentRoot(Directory.GetCurrentDirectory())
                .UseIISIntegration()
                .UseStartup<Startup>()
                .Build();

            host.Run();
        }
相關文章
相關標籤/搜索