0 前言 http://www.cnblogs.com/fonour/p/5848933.html 學習的最好方法就是動手去做,這裡以開發一個普通的許可權管理系統的方式來從零體驗和學習Asp.net Core。項目的整體規劃大致如下: 技術路線 Asp.net Core Mvc EntityFrame ...
0 前言
http://www.cnblogs.com/fonour/p/5848933.html
學習的最好方法就是動手去做,這裡以開發一個普通的許可權管理系統的方式來從零體驗和學習Asp.net Core。項目的整體規劃大致如下:
技術路線
- Asp.net Core Mvc
- EntityFrameworkCore
- Bootstrap AdminLTE
- PostgreSQL
實現功能
- 組織機構管理
- 角色管理
- 用戶管理
- 功能管理
- 許可權管理
1 開發環境準備
1、安裝Visual Studio 2015,我這裡安裝的是專業版。
2、安裝.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)項目。
為了更好的理解Asp.net Core的一些東西,我這裡選擇了空模板
創建好的項目是長這個樣子的
解決方案中相關文件大致說明
- 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的控制器。
3.2 添加視圖
右鍵項目添加Views文件夾,右鍵Views文件夾添加一個Home文件夾,與HomeController控制器相對應,在Home文件夾下新建一個名稱為Index的視圖文件。
將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的預設路由機制解析了。
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運行。
2 在項目文件夾根目錄,按住Shift鍵,點擊滑鼠右鍵,單擊“在此處打開命令視窗”菜單,輸入dotnet run命令。
會提示應用程式服務已經啟動,並且地址為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(); }