這是未完成的基本ASP.NET 8和Angular 17 Web應用程序。該應用基於Visual Studio 2022中的“ Angular和ASP.NET Core”項目模板。目標是使用DeVexPress'DeVexTreme UI UI模板庫Anglawer Application並將其用作ASP.NET應用程序的客戶端,以展示一個不錯的業務線(LOB)應用程序。
我注意到GitHub上的大多數ASP.NET應用程序都缺乏任何UI或使用非常簡單的UI。我認為有人應該表現出一個好的UI。
原始的DEVEXPRESS“ UI從DeVexPress” Web服務中獲取了所有數據。我複制並修改了它們的角度版本,以便它作為Web客戶端部分作為ASP.NET應用程序的一部分運行。現在,“聯繫人列表”部分從ASP.NET後端獲取數據,該數據從數據庫中獲取。目的是在其餘的UI上進行相同類型的轉換,但我停了下來,然後繼續專注於大火。後端基於乾淨的體系結構模式,端點 - >服務 - >存儲庫 - >數據庫可以使用相同的約定將其應用於應用程序的其餘部分。
該應用程序不會實現任何身份驗證,授權,日誌記錄和容器。要實現此類功能,請參閱Jasontaylordev/Cleanarchitecture,以獲取一些靈感和實現。
UI基於DeVexpress的Devextreme,它是一個完整的和拋光的UI組件套件,演示畫廊是一個不錯的演示。我強烈推薦它。 DeVextreme是免費的非商業應用程序,需要商業應用程序的許可。
設置數據庫的說明:
- 第一步是設置數據庫。該應用使用SQL Server。如果您使用的是SQL Server 2019或更高版本,則可以在基礎架構項目中的“ MISC_FILES”文件夾中從備份文件DXFULLAPP.BAK恢復數據庫。
- 否則運行“ Misc_files”文件夾中的DXFullapp.sql腳本,以創建和填充數據庫。必要時編輯文件,以將文件名值更新為系統中SQL Server安裝的正確路徑。
- 如有必要,在appsettings.json文件中,更新DefaultConnectionsTring值。
運行應用程序的說明:
- (在一個問題上,解決方案需要幾分鐘才能加載Vs 2022。尚不確定是否是本地問題。)
- 設置數據庫和連接字符串後,將服務器項目成為啟動項目。運行該應用程序,它將啟動帶有聯繫人的頁面的瀏覽器。初始頁面將顯示一個損壞的頁面,然後自動刷新並正確渲染。這應該是解決的。
待辦事項清單(目前沒有計劃完成):
- 將所有UI轉換為使用ASP.NET後端而不是DeVexPress的終點。
- 創建所有DTO為客戶服務並將實體映射到他們。 (如果首選,請使用自動應用程序或映射)。
- 添加單元,功能,集成和最終測試。
- UI不做任何更新,例如保存編輯或創建新對象。實施這些。
- 添加身份驗證,授權,記錄,健康檢查..等
- 嘗試最小API而不是基於控制器的API。
- Angular客戶端在版本17時,它並沒有真正使用該版本的任何特定功能。我所做的只是將其從版本15轉換為17。
為什麼devextreme:
- 它具有數十個高質量,拋光和可擴展的UI組件,它們本地支持角度,反應,vue,jQuery和Plain JavaScript。
- 出色的技術支持和文檔。通過實時可自定義的演示在線顯示每個組件的功能。
- 功能強大且移動響應的數據網格。整個套房的價格低於另一個流行的僅A-Grid UI組件的價格。
- 雖然它確實花費了錢,但從長遠來看,它將使用開源UI組件的大雜貨店削減開發成本和支持時間與支持時間的成本,從而為您節省大量資金。使用公司謀生的組件,而不是依賴開發人員或社區的空閒時間。
- PS:除了成為一個快樂的客戶外,我與Devexpress沒有其他聯繫。我只是表達我的個人意見。
- 享受編碼!