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
http://www.cnblogs.com/fonour/p/5848933.html
學習的最好方法就是動手去作,這裏以開發一個普通的權限管理系統的方式來從零體驗和學習Asp.net Core。項目的總體規劃大體以下:
技術路線
實現功能
一、安裝Visual Studio 2015,我這裏安裝的是專業版。
二、安裝.NET Core SDK相關
須要安裝Visual Studio 2015 update3和NET Core 1.0.0 - VS 2015 Tooling
打開Visual Studio 2015,選擇項目保存路徑,輸入項目名稱及解決方案名稱,新建一個Asp.Net Core Web Application (.NET Core)項目。
爲了更好的理解Asp.net Core的一些東西,我這裏選擇了空模板
建立好的項目是長這個樣子的
解決方案中相關文件大體說明
刪除示例頁面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!"); }); }
添加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引用的添加。
右鍵添加項目文件夾,命名爲Controllers,右鍵Controllers文件夾,添加一個名字爲HomeController的控制器。
右鍵項目添加Views文件夾,右鍵Views文件夾添加一個Home文件夾,與HomeController控制器相對應,在Home文件夾下新建一個名稱爲Index的視圖文件。
將Index.cshtml的內容修改成
<h1>Hello,Asp.Net Core MVC</h1>
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的默認路由機制解析了。
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(); }