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

来源:https://www.cnblogs.com/oorz/archive/2018/08/08/9438911.html
-Advertisement-
Play Games

本文目錄 1. 摘要 2. Window下運行 3.linux下運行 4. 開發記錄 5. 總結 1.概要 寫《Asp.Net Core 2.0 項目實戰》系列斷斷續續已經很長時間了,期間很多朋友要求開放源碼,但是項目代碼一直有很多問題,就算勉強開源出來大家看起來也比較費勁,運行起來也看不到實際的效 ...


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

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

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

Asp.Net Core 2.0 項目實戰(4)ADO.NET操作資料庫封裝、 EF Core操作及實例

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

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

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

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

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

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)出來,還是要看項目的發展,以及自己的時間分配。文章寫作順序為亂序,看源碼的時候碰到問題可以先在博文中查找。寫在最後:原創不易,歡迎打賞/分享/推薦!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...