Asp.Net Core 2.0 項目實戰(1) NCMVC開源下載了

Asp.Net Core 2.0 項目實戰(1) NCMVC開源下載了html

Asp.Net Core 2.0 項目實戰(2)NCMVC一個基於Net Core2.0搭建的角色權限管理開發框架前端

Asp.Net Core 2.0 項目實戰(3)NCMVC角色權限管理前端UI預覽及下載linux

Asp.Net Core 2.0 項目實戰(4)ADO.NET操做數據庫封裝、 EF Core操做及實例nginx

Asp.Net Core 2.0 項目實戰(5)Memcached踩坑,基於EnyimMemcachedCore整理MemcachedHelper幫助類。git

Asp.Net Core 2.0 項目實戰(6)Redis配置、封裝幫助類RedisHelper及使用實例github

Asp.Net Core 2.0 項目實戰(7)MD5加密、AES&DES對稱加解密數據庫

Asp.Net Core 2.0 項目實戰(8)Core下緩存操做、序列化操做、JSON操做等Helper集合類json

Asp.Net Core 2.0 項目實戰(9) 日誌記錄,基於Nlog或Microsoft.Extensions.Logging的實現及調用實例windows

Asp.Net Core 2.0 項目實戰(10) 基於cookie登陸受權認證並實現前臺會員、後臺管理員同時登陸後端

Asp.Net Core 2.0 項目實戰(11) 基於OnActionExecuting全局過濾器,頁面操做權限過濾控制到按鈕級

本文目錄
1. 摘要
2. Window下運行
3.linux下運行
4. 開發記錄
5. 總結

1.概要

  寫《Asp.Net Core 2.0 項目實戰》系列斷斷續續已經很長時間了,期間不少朋友要求開放源碼,可是項目代碼一直有不少問題,就算勉強開源出來你們看起來也比較費勁,運行起來也看不到實際的效果。在公司平時真的是太忙了,不多有時間去系統的整理一個框架,只能以學習這種形式邊學邊作。承諾你們開源出來此項目我作到了,雖然項目依然有不少問題,我接下來會再完善。功能暫時不會再增長了,暫時先作到權限管理,以及支撐後端框架運行的相關功能。

 

 

2.Window下運行

  項目:Vs2017+MSSQL2017

  下載項目後首先須要調整數據庫鏈接地址,緩存地址;以及appsettings.json 配置裏須要調整的項。主要項目或文件夾下放的都有readme.txt文件,注意關注裏面的提示。

 

 

  調整完成後Visual Studio2017直接運行就能夠瀏覽項目,打開項目地址輸入http://localhost:xx/ad_min進入後臺查看功能。

  用戶名:admin密碼:admin888

  Iis上運行須要發佈,發佈配置選擇默認,linux發佈須要選擇linux x64。

 

 

3.linux下運行

  在linux下我本地如今只安裝了centos7虛擬機,測試能夠打開,但有部分功能牽扯到路徑問題暫時還未處理,後臺會調整再發佈一個版本。

 

 

  安裝centos網上有不少教程,部署到centos上後,虛擬機裏直接http://localhost:5000打開就能夠了,注意運行的時候linux下區分大小寫(必須),外部訪問需用到nginx參考https://www.cnblogs.com/hager/p/5689493.html

   

 

 

4.開發記錄

  碰見netcore2.0問題,優先看官網上的案例。

##--發佈--

    1.dotnet publish或右鍵發佈

    2.window系統上部署iis7+或運行dotnet nc.mvc.dll

    3.centos下運行測試(dll文件名大小寫不能寫錯)dotnet NC.MVC.dll

##--日誌記錄--

1.微軟已經內置了日誌支持,日誌級別:Trace -》Debug-》 Information -》Warning-》 Error-》 Critical;案例參考HomeController

    引用Microsoft.Extensions.Logging

    使用dotnet run運行項目,能夠看到輸出效果

2.使用NLog,NLog也是擴展的Microsoft.Extensions.Logging,添加NuGet包Microsoft.NETCore.App而後引用

    using NLog.Extensions.Logging;

    using NLog.Web;

    配置NLog.config文件,設置日誌等級參數以及日誌路徑等

    默認日誌寫入到項目根目錄xxx\bin\Debug\netcoreapp2.0\

3.集成一個本身寫的Logger

    appsettings.json配置是否記錄日誌,以及記錄位置設置。

    參考NC.Core>MSSQL>DbCommand.cs

##--linux下大小寫敏感--

    如NLog組件,Startup.cs寫小寫,那麼對應的nlog.config必定要所有小寫。

##--centos--

    1.centos聯網必須開啓服務VMware NAT Service和VMware DHCP Service(VMnetDHCP)

    2.centos部署的站點必須經過nginx代理,這樣才能夠訪問到虛擬機運行的netcore程序

    3.https://www.cnblogs.com/hager/p/5689493.html

##--Directory.GetCurrentDirectory()坑點--

    windows 下是 "\", Mac OS and Linux 下是 "/",這個待驗證。若是成立可解決linux下建立文件夾問題

    ??linux下建立文件夾問題待解決

    Directory.GetCurrentDirectory();此方法不是真正的獲取應用程序的當前方法,而是執行dotnet命令所在目錄;如dotnet publishoutput/nc.mvc.dll,日誌記錄的位置就會跟着改變。

    //獲取應用程序的當前目錄:

    dynamic type = (new Program()).GetType();

    string currentDirectory = Path.GetDirectoryName(type.Assembly.Location);

    Console.WriteLine(currentDirectory);

#

經過控制器右鍵添加視圖,轉到視圖頁等特性都沒有了,包括添加區域,自動進行區域配置也都沒法使用,致使咱們必須本身手動建立區域以及配置

##--2018-03-21##

1.Session封裝

2.cookie讀取封裝

##--2018-06-21--##

1.ef core操做數據庫時,參數要一致,如:long不能傳int,不識別。

##--2018-06-22--##

1.Request.Form必須確保必須傳遞參數才能使用,不然報錯System.InvalidOperationException;只有post下且有參數才能夠用寫Request.Form,不然報異常。

5.總結

  實戰項目暫時告一段落了,裏面的bug以及在linux跨平臺運行問題我會抽時間再完善,小的更新我會直接在羣裏發佈,若是有問題也能夠在羣裏(444036561)提出,人多力量大,相同問題到時候我會在博文後面再整理出來解答。若是關注的人多了後續我會基於這個後臺再整合一個內容管理系統(CMS)出來,仍是要看項目的發展,以及本身的時間分配。文章寫做順序爲亂序,看源碼的時候碰到問題能夠先在博文中查找。寫在最後:原創不易,歡迎打賞/分享/推薦!

GIT地址:http://www.github.com/oorz/ncmvc

相關文章
相關標籤/搜索