日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

castle之动态代理

發(fā)布時間:2025/5/22 编程问答 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 castle之动态代理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

動態(tài)代理 DynamicProxy,這里說的動態(tài)代理是直接使用Castle.net 中提供的,并非自己實現(xiàn)的,因為別人寫的很好,拿著用就行了。

動態(tài)代理的工作模式

一般我們獲取一個類型的實例都是通過 new 關鍵字,例如 var c = new Class1(); 通過動態(tài)代理的話,我們獲取一個實例是通過代理方法獲取的,generator.CreateClassProxy(type, interceptor); 其中Type是要代理的類型,也就是Class1(); interceptor則是實際執(zhí)行代理的攔截器。

為什么要用動態(tài)代理:

簡單的說,例如我Class1與Class2都有自己的方法,我現(xiàn)在想給這兩給類的每個方法都添加一個日志操作,如果不通過代理我們怎么做呢?每個函數(shù)開始增加一句Log.Enter();結束的時候增加一個Log.Exit(); 通過動態(tài)代理,我們可以增加一個攔截器,攔截器中,可以先執(zhí)行Log.Enter();然后執(zhí)行實際操作,最后在執(zhí)行Log.Exit(); ?這樣我們就不需要去修改 Class1與Class2兩個類。說白了就是為了符合OCP.

實現(xiàn)

1 public interface ISaySomething 2 { 3 void sayHK(); 4 } 5 6 public class Say : ISaySomething 7 { 8 public virtual void sayHK() 9 { 10 Console.WriteLine("hk"); 11 } 12 }

這個方法一定要用虛方法,因為會被代理類重寫。

1 public class SayInterceptorProxy : IInterceptor 2 { 3 string _user; 4 public SayInterceptorProxy(string user) 5 { 6 this._user = user; 7 } 8 9 public void Intercept(IInvocation invocation) 10 { 11 if (_user == "hk") 12 { 13 beforeDoSomething(); 14 invocation.Proceed(); 15 afterDoSomething() 16 } 17 else 18 { 19 Console.WriteLine("{0}沒有權限執(zhí)行", _user); 20 } 21 } 22 }

這個是代理類,必須要繼承?IInterceptor 接口 在執(zhí)行你的邏輯方法之前或者之后,你都可以加上你自己的邏輯。其中 invocation 里面放的是代理方法的所有詳細信息。

1 public void test() 2 { 3 ProxyGenerator proxyGenerator = new ProxyGenerator(); 4 var handle = new SayInterceptorProxy[] { new SayInterceptorProxy("wy") }; 5 ISaySomething iSay = proxyGenerator.CreateClassProxy<Say>(handle); 6 iSay.sayHK(); 7 }

這是調用執(zhí)行過程。

?

轉載于:https://www.cnblogs.com/HKKD/p/7283810.html

總結

以上是生活随笔為你收集整理的castle之动态代理的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩久久久久久久久久久 | 全黄一级裸体片 | 大波大乳videos巨大 | 精品999久久久| 一级黄色大片视频 | 岛国久久久 | 女儿的朋友5中汉字晋通话 欧美成人免费高清视频 | 熟女国产精品一区二区三 | 精品成人中文无码专区 | 黄色片一区 | 午夜国产福利在线 | 男人天堂国产 | 免费国产视频在线观看 | 欧美激情在线免费观看 | 男人的天堂97 | 成人欧美一区二区三区黑人免费 | 国产做爰免费观看 | 久久在线精品视频 | yy6080久久 | 久久爱99| 成人激情小视频 | wwwsss在线观看 | 国产成人精品视频ⅴa片软件竹菊 | 成人av网站大全 | 日韩精彩视频在线观看 | 动漫一区二区 | 黄色av一区二区三区 | 国产精品系列在线 | 婷婷色中文 | 小小姑娘电影大全免费播放 | 精品国产视频一区二区 | 久久久网址 | 日韩a级一片 | 亚洲理论中文字幕 | 成人综合色站 | 9色视频| 91麻豆国产福利精品 | 亚洲狠| 激情综合网五月激情 | 国产精品ww | a级片久久 | 伊人网在线视频 | 伊人色在线视频 | 国产少妇在线 | 白嫩白嫩国产精品 | 成人在线视频一区二区 | 国产视频手机在线播放 | 亚州欧美| 别揉我奶头一区二区三区 | 国产一区99 | 激情偷乱人成视频在线观看 | 91国自产精品中文字幕亚洲 | 久久伊人热 | 精品一久久 | 女女百合高h喷汁呻吟玩具 www.亚洲一区 | 亚洲精品在线视频 | 黄色一级一片免费播放 | 亚洲视频网站在线观看 | 黄色不打码视频 | 91精品人妻一区二区三区果冻 | 欧美一级欧美三级在线观看 | av在线超碰 | 久久久网| 国产成人精品免费在线观看 | 欧美黑人性受xxxx精品 | 亚洲第九十九页 | аⅴ资源中文在线天堂 | 成人一区av| 黄色国产大片 | 久久国产精品一区 | 国产视频1| 国产女主播av | 爱爱视频免费网站 | 精品人妻一区二区三区日产乱码卜 | 伊人av在线 | 99精品久久久久久中文字幕 | 亚洲春色在线观看 | 亚洲少妇第一页 | 国产卡一卡二卡三无线乱码新区 | 亚洲精品乱码久久久久久蜜桃不卡 | 91精品国产综合久久香蕉 | 日韩精品久久久久久久的张开腿让 | 白丝开裆喷水 | 一久久久久 | 最新视频 - x88av| 久久久久亚洲av成人毛片韩 | 亚洲色图 美腿丝袜 | 法国少妇愉情理伦片 | 操模特 | 精品免费国产一区二区三区四区 | 秘密基地在线观看完整版免费 | 精品国产专区 | 国产精品18久久久久久无码 | 欧美片在线观看 | 精品久久久无码中文字幕边打电话 | 黑人巨大av | 最近最新最好看的2019 | 亚洲激情成人网 | 亚洲欧洲日本国产 |