天天看點

ASP.NET Core 開源論壇項目 NETCoreBBS

<code>git clone https://github.com/linezero/NETCoreBBS.git</code>

使用 Visual Studio 2017 打開 <code>NetCoreBBS.sln</code>

點選 <code>調試-&gt;開始調試</code> 即可運作起來,或者直接點選工具欄上的<code>NetCoreBBS</code>即可。

注意:預設為80端口,可能會和本地端口沖突,可以到Program.cs 中更改 <code>.UseUrls("http://*:80")</code>,然後更改啟動URL既可。

節點功能

主題釋出

主題回複

主題篩選

使用者登入注冊

主題置頂

背景管理

個人中心

ASP.NET Core 開源論壇項目 NETCoreBBS

重點代碼:

增加一個 areaRoute ,然後添加對應的Areas 檔案夾,然後Areas裡的控制器裡加上  [Area("Admin")] 。

在項目裡的ViewComponents 檔案夾,注意對應視圖在 Views\Shared\Components 檔案夾裡。

RequestIPMiddleware 記錄ip及相關資訊的中間件

 View Code

內建Identity ,擴充User表,自定義使用者表。

權限政策

注冊登入密碼複雜度

EF Core 采用Sqlite 資料庫。

讀取配置檔案

使用代碼初始化資料庫

項目分層 DataContext 在 Infrastructure,使用dotnet  ef 指令注意事項 

更新指定字段,不用先查詢實體。

讀取連結字元串 Configuration.GetConnectionString("DefaultConnection")

_LoginPartial.cshtml 頭部登入部分分布視圖

_PagerPartial.cshtml 分頁分布視圖

寫的不是很好,可以優化成TagHelper。

@inject SignInManager&lt;User&gt; SignInManager

@inject 關鍵字

public IActionResult Index([FromServices]IUserServices user)

FromServices 在指定Action注入,也可以使用構造函數注入。

之前寫過對應的釋出文章 ASP.NET Core 釋出至Linux生産環境 Ubuntu 系統

由于project.json 改成csproj,釋出有所變動。

預設釋出還是相同 dotnet publish,自帶運作時釋出時更改csproj。

編輯 NetCoreBBS.csproj

後續同樣是 dotnet publish -r ubuntu.14.04-x64

注意這個節點,預設釋出的,伺服器也要安裝相同版本的runtime。

代碼裡面還有一些大家可以自己去挖掘。

      本文轉自zsdnr  51CTO部落格,原文連結:http://blog.51cto.com/12942149/1949719,如需轉載請自行聯系原作者