原创 4、看源碼MVC Controller如何調用Action
Controller繼承ControllrBase,ControllerBase繼承IController,而IController裏只有一個Execute方法 1、ControllrBase裏的Execute(),裏面調用了Execute
原创 3、看源碼MVC中的Controllr的Json方法
無論ViewResult還是JsonResult都繼承ActionResult,ActionResult裏只有一個方法ExecuteResult 1、Controllr的Json方法 實際上是new JsonResult,然後執行Exe
原创 2、MVC+IOC容器+ORM結合
1、常規寫法,難道我們每次都new一個服務,如下面的UserService和CompanyService然後調用服務的Find方法去操作,爲什麼我們不讓UserService和CompanyService服務注入進來呢? public
原创 1、MVC如何實例化控制器?
我們知道MVC請求進來,然後路由匹配,然後找到控制器和Action,最後會調用Action方法,但是大家想想控制器是個普通的類,Action是個普通的實例方法,要想調用Action必須先實例化控制器,那麼MVC中如何實例化控制器的呢? 1、
原创 6、UnityConfig實現AOP
需求:我們需要給已經開發好的服務如這裏的UserService,添加額外的執行邏輯,但是又不想破壞原有的服務,如:我們需要給UserService添加監控邏輯,監控的目的是看UserService服務裏的RegUser方法和GetUser方
原创 1.面向切面編程
OOP面向對象編程:萬物皆對象,對象交互完成功能,功能疊加成模塊,模塊組成系統,去搭建複雜的大型軟件系統磚塊兒----牆---房間----大廈 磚塊兒應該是穩定的,靜態的類----功能點---模塊----系統
原创 5.動態代理AOP實現-DynamicProxy模式
通過動態代理模式Interceptor實現在RegUser()方法本身業務前後加上一些自己的功能,如:PreProceed和PostProceed,即不修改UserProcessor類又能增加新功能 定義1個用戶接口,裏面有個註冊用戶方法
原创 2.靜態AOP實現-裝飾器模式
通過裝飾器模式實現在RegUser()方法本身業務前後加上一些自己的功能,如:BeforeProceed和AfterProceed,即不修改UserProcessor類又能增加新功能 定義1個用戶接口,裏面有個註冊用戶方法 public
原创 3.靜態AOP實現-代理模式
通過代理模式實現在RegUser()方法本身業務前後加上一些自己的功能,如:BeforeProceed和AfterProceed,即不修改UserProcessor類又能增加新功能 定義1個用戶接口,裏面有個註冊用戶方法 public
原创 2.C#中泛型在方法Method上的實現
閱讀目錄 一:C#中泛型在方法Method上的實現 把Persion類型序列化爲XML格式的字符串,把Book類型序列化爲XML格式的字符串,但是隻寫一份代碼,而不是public static string GetSer
原创 一步一個腳印學習WCF系列之WCF概要—WCF服務的創建與調用HelloWorld實例,通過配置文件方式(六)
閱讀目錄 一:前言 二:配置工作 三:通過元數據生成代理和配置文件 一:前言 . 這篇文章是與《一步一個腳印學習WCF之WCF概要—WCF服務的創建與調用HelloWorld實例,通過編碼方式(四) 》一文相對比
原创 3.C#中的多重委託
閱讀目錄 一:多重委託概述 二:多重委託實例 一:多重委託概述 1.委託的調用其實是一個調用列表,可以同時調用多個不同的方法 2.第1個委託加上第2個委託賦予第3個委託,相當於把兩個方法按順序一排,先調用第一個方法,再調用第
原创 1.什麼是泛型和C#中泛型在Class上的實現
閱讀目錄 一:什麼是泛型? 二:C#中泛型在Class上的實現 一:什麼是泛型? 我們在編程的時候需要一個數據類型,但是在剛開始的時候還不確定這個數據類型是怎麼樣的,或者說對於不同的多個
原创 C#新開一個線程取到數據,如何更新到主線程UI上面
一:問題 之前有被面試官問過,在WinForm中,要去網絡上獲取數據,由於網絡環境等原因,不能很快的完成,因此會發生進程阻塞,造成主進程假死的現象,需要怎麼解決? 二:思路 因此,往往是新建一個線程,讓他執行耗時的操作,主線
原创 ASP.NET溫故而知新學習系列之ASP.NET多線程編程—多線程實現數組排序(十)
閱讀目錄 一:前言 二:多線程實現數組排序 一:前言 數組大小是計劃對多少個數組元素進行排序,線程個數是你計劃用多少個線程進行排序操作 二:多線程實現數組排序 private int[] array;