【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案 (14)附資料庫、釋出專案
索引
簡述
總結一
整個系列其實還包括專案管理、考勤簽到、郵件、內部聊天等等,這個東西是做不完的,如果繼續還有新聞系統、靜態生成等等等等....
其中,靜態頁生成在我的部落格中可以找到,三種方式:
第一種 就是類似網上的很多CMS一樣 採用標籤替換,但這種方式是不推薦的,特別是在我們.Net中,標籤解析是十分龐大和困難的;
第二種 是使用RazorEngine 解析我們的cshtml頁面,這種使用十分簡單,直接讀取地址生成html就行了;
第三種 也是我使用的,解析html模板(Razor語法的html模板)然後通過RazorEngine 解析,這個是十分簡便的,RazorEngine 會直接識別html中的語法。
。。。。我想,很多朋友已經等不急了。。。並且,後面的什麼專案管理啊、郵件啊之類的 都是業務邏輯,不斷的重複我們的東西,使用到的基本都講過了,所以也是沒有很大的必要性。
所以,我們分為兩章來總結一下這個系列:
第一章總結完,我會分享整個資料庫和已釋出之後的程式供大家測試和抽取UI
第二章總結完 我會把程式原始碼分享給大家。
為什麼第一章不分享原始碼呢?因為我還沒有整理好,比如倉儲類實際上沒有UnitOfWork,對效能是十分不好的,我要改,很多朋友無數次的要完整的東西,所以先把釋出之後的程式和資料庫給大家,就當開胃菜,整理好之後全部分享。分享之後的原始碼僅供大家參考,請不要直接拿來使用,因為很多東西比如DDD的設計、UnitOfWork 都是沒有完全實現的,大家可以關注
【無私分享:ASP.NET CORE 專案實戰】目錄索引 這個系列,在這個系列中我們會重構我們的思想,並且修改基礎操作類(重新開發,沒有在本系列中沒有看懂倉儲類庫Repository的可以重點看下),實現對架構和效能的追求。
好了,廢話不多說。
首先呢,我們來講下依賴注入(DI):
我們重點看下 Spring配置指向,這裡有算是兩類指向,一類是webpage的指向(我們的應用程式層webpage),一類是Service的指向(我們的應用服務介面層)
我們建了很多xml檔案,例如 ComService.xml、MailService.xml ,建立這些xml的目的其實跟我們建資料夾是一樣的,就是為了分類管理,建一個也是可以的,並不是一定要建這麼多。
包括webpage\config下的xml 這些作為Spring配置的xml 都應該修改為“嵌入的資源 ”
我們來分別講下webpage/config 和 service\config 裡面的xml,這裡用通俗容易理解的方式講下,希望大家不要扣字。
我們先來看下service\config 裡面的xml,我們以Service.xml為例:
我們看下格式:
<object id="Service.Permission" type="Service.ServiceImp.PermissionManage,Service" singleton="false"></object>
<object id="定義一個唯一的名字" type="介面實現類,Service" singleton="false"></object>
名字自己定義一個就可以,沒有什麼特別的規範,只是要唯一,我們在webpage\config 裡要用到這個名字,兩者保持一致便可。
介面實現類就是名稱空間+實現類的類名,以上面的(Service.ServiceImp.PermissionManage)為例,我們看下我們這個實現類:
這樣,Service\config 下面的xml如何配置,大家知道如何使用了吧。那我們再來看下webpage\config 裡面的xml配置,我們以Controllers.xml為例:
我們看下格式:
<!--登入控制器-->
<object type="WebPage.Areas.SysManage.Controllers.AccountController,WebPage" singleton="false">
<property name="UserManage" ref="Service.User"/>
<property name="UserOnlineManage" ref="Service.UserOnlineManage"/>
</object>
<!--登入控制器-->
<object type="控制器,WebPage" singleton="false">
<property name="宣告的容器名稱" ref="在配置Service\config時定義的id"/>
<property name="宣告的容器名稱" ref="在配置Service\config時定義的id"/>
</object>
首先,我們新增一個object標籤 type 我們的控制器
<object type="WebPage.Areas.SysManage.Controllers.AccountController,WebPage" singleton="false">
</object>
然後,我們這裡需要用到兩個介面:一個是使用者管理,一個是使用者線上狀態
那麼我們新增兩個 property標籤:
<property name="UserManage" ref="Service.User"/>
<property name="UserOnlineManage" ref="Service.UserOnlineManage"/>
注意:這裡property 的屬性 name 的值 要跟控制器裡宣告的容器的名稱一致
這樣,就實現了。然後,有朋友問,一定要這麼複雜的配置麼?其實,service\config裡配置完,在webpage\config裡不配置也是可以的,那麼不配置Controllers.xml 如何呼叫呢?細心的朋友可能已經發現了,我們在BaseCotroller控制器裡就沒有使用xml配置,在webpages\Models\CommonHelper.cs中也沒有使用xml配置:
對於Spring的使用,詳細的講解和專業的術語如何表述,請大家移步度娘。
我們再來看下大家也是有很多問題的UserManage實現類:
//使用者登入驗證
public Domain.SYS_USER UserLogin(string useraccount, string password) 這個應該沒什麼可講的,大家都一目瞭然。
//是否為超級管理員
public bool IsAdmin(int userId) 這個就一點說明一下 return roles.ToList().Any(item => item.ID == ClsDic.DicRole["超級管理員"]) 這裡是用到了字典(是不是比較雞肋),我們在應用類庫Common下的Enums.cs中有這麼一個
也是就判斷我們當前登入使用者的ID是否等於我們定義的超級管理員的ID。
然後,我們再來看下 public Account GetAccountByCookie() 和 public bool Remove(int userId) 這兩個是一樣的,這兩個都呼叫了外部介面,我們看下我們這個類的開始部分
大家是不是在使用的時候會出現這麼一個錯誤:未將物件引用到例項?
包括在控制中,我們呼叫介面的時候,出現這個錯誤,大部分的原因就是:沒有注入。
控制器的注入我們上面剛剛講過了,我們看下介面呼叫外部介面是如何注入的。service\config\service.xml
大家發現了吧 我們在object標籤下 也添加了property標籤。上面我們講過了控制器如何不使用xml實現注入,這裡大家是否也可以嘗試一下。
好了,已釋出的專案和資料庫:百度網盤
網盤已失效,再發第二次,希望大家抓緊:百度網盤
額。。。上面都失效了,還有這麼多要的,最後發一次網盤:百度網盤
---- 統一回復 提取碼:z2qn
說明:大家可以直接放到IIS裡架起來,資料庫在App_Data\DataBase 裡面。
資料庫連線需要修改兩個地方:① web.config 裡面的資料庫連線 ② log4net.config 裡面的資料庫連線 (我們的日誌不是存在txt裡是存到資料庫裡的)
還有,這個是單點登入,如果不需要,請修改config\website.config 找到 <add key="IsSingleLogin" value="True"/> 改為False
不好意思,忘了說登入賬號和密碼了,admins Yuan19880212
相關推薦
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案 (14)附資料庫、釋出專案
索引 簡述 總結一 整個系列其實還包括專案管理、考勤簽到、郵件、內部聊天等等,這個東西是做不完的,如果繼續還有新聞系統、靜態生成等等等等.... 其中,靜態頁生成在我的部落格中可以找到,三種方式: 第一種 就是類似網上的很多CMS一樣 採用標籤替換,但這種方式是不推薦的,特別是在我們.Net中,
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(7.2) 模組管理,模組的新增、修改、刪除
索引 簡述 今天我們來做模組管理的 新增、修改、刪除 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解了
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(5.3) 登入功能的實現,豐富資料表、建立關聯
1 USE [wkmvc_db] 2 GO 3 /****** Object: Table [dbo].[SYS_CODE] Script Date: 2016/5/17 9:30:01 ******/ 4 SET ANSI_NULLS ON 5 GO 6 SET
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案 (10)部門管理、崗位管理和員工管理
1 USE [wkmvc_db] 2 GO 3 /****** Object: Table [dbo].[SYS_POST_USER] Script Date: 2016/6/20 16:28:44 ******/ 4 SET ANSI_NULLS ON 5 GO
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案 (12)程式與資料備份
索引 簡述 程式檔案備份與資料備份 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解了。 專案開始
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(5.4) 登入功能的實現,建立與登入使用者相關的介面和實現類
索引 簡述 今天我們建立幾個與登入使用者相關的資料表的介面和實現類 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案 (16)原始碼分享二:登入功能以及UI、資料庫、倉儲原始碼分享
1 using Common; 2 using Service.IService; 3 using System; 4 using System.Collections.Generic; 5 using System.Linq; 6 using System.Web;
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(5.5) 登入功能的實現,完善登入功能
索引 簡述 今天我們來完善我們的登入功能 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解了。 專案開
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案 登入介面前端樣式和特效
很多朋友要UI,我也說過,後臺的UI就是BootStrap,網上很多的。也有朋友喜歡LZ的登入,LZ的登入介面也是網上找的,然後稍微做了下修改。 不過既然大家喜歡,那麼LZ就分享給大家。 1、登入頁面效果 2、登入頁面程式碼 1 @{ 2 Layout = null; 3
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(5.2) 登入功能的實現,介面注入、log4net的使用
索引 簡述 前兩天事情比較多,耽誤更新了,希望大家多多包涵,今天我們繼續做我們的登入功能 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(5.1) 登入功能的實現,開始接觸Spring IOC、DI
索引 簡述 今天我們做登入,今天的東西比較多,用到了Spring的IOC和DI、介面的使用、驗證等,希望大家多多討論 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案 (15)原始碼分享一:修改倉儲IRepository、RepositoryBase
1 #region 獲取多條資料操作 2 3 /// <summary> 4 /// 返回IQueryable集合,延時載入資料 5 /// </summary> 6 /// &l
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(7.1) 模組管理,驗證許可權,展示模組列表
索引 簡述 今天我們來做模組管理的 展示 模組列表 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解了。
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(9) 角色管理,分配許可權
索引 簡述 今天我們來做角色的管理 和 角色許可權分配 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(1)搭建MVC環境 註冊區域
索引 簡述 從今天開始,我們從0開始搭建一個框架,並且完成一個任務管理系統的專案。這並不是什麼大專案,只是對於不熟悉MVC以及不熟悉面向介面開發和依賴注入的朋友們有所啟發,因為是從0開始,所以有些地方比較囉嗦,希望大家理解! 希望新手朋友們拋棄“拿來主義”,動手跟著一步一步的做,當做完這個框架和專案
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(6) 控制器基類 主要做登入使用者、許可權認證、日誌記錄等工作
索引 簡述 今天我們來寫一個控制器基類 主要做登入使用者、許可權認證、日誌記錄等工作 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(8) 許可權管理,自定義許可權,擴充套件許可權
索引 簡述 今天我們來做許可權的管理,這篇比較多 希望新手朋友慢慢消化 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案 (13)客戶管理
索引 簡述 簡單的客戶管理 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,自然就理解了。 專案開始 一、資料
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案(3)公共基礎資料操作類 RepositoryBase
索引 簡述 今天我們寫一個基礎資料的操作類,如果裡面有大家不理解的地方,可採取兩種方式,第一:提出來,第二:會用就行。這個類呢我一般不去修改它,因為基礎操作類,大家也可以直接拷貝到自己的專案中。 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大
【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案 (11)檔案管理
索引 簡述 檔案管理,這個比較雞肋 但是有些方法 大家可以參考下 專案準備 我們用的工具是:VS 2013 + SqlServer 2012 + IIS7.5 希望大家對ASP.NET MVC有一個初步的理解,理論性的東西我們不做過多解釋,有些地方不理解也沒關係,會用就行了,用的多了,用的久了,