|
WCF是一個(gè)具有極高擴(kuò)展度的分布式通信框架,無(wú)論是在信道層(Channel Layer)還是服務(wù)模型層(Service Model),我們都可以自定義相關(guān)組件通過相應(yīng)的擴(kuò)展注入到WCF運(yùn)行環(huán)境中。在WCF眾多可擴(kuò)展點(diǎn)中,ICallContextInitializer可以幫助我們?cè)诜?wù)操作執(zhí)行前后完成一些額外的功能,這實(shí)際上就是一種AOP的實(shí)現(xiàn)方式。比如在《通過WCF Extension實(shí)現(xiàn)Localization》中,我通過ICallContextInitializer確保了服務(wù)操作具有和客戶端一樣的語(yǔ)言文化;在《通過WCF Extension實(shí)現(xiàn)Context信息的傳遞》中,我通過ICallContextInitializer實(shí)現(xiàn)上下文在客戶端到服務(wù)端的自動(dòng)傳遞。ICallContextInitializer的定義如下:
1: public interface ICallContextInitializer
2: {
3: // Methods
4: void AfterInvoke(object correlationState);
5: object BeforeInvoke(InstanceContext instanceContext, IClientChannel channel, Message message);
6: }
NET技術(shù):基于CallContextInitializer的WCF擴(kuò)展導(dǎo)致的嚴(yán)重問題,轉(zhuǎn)載需保留來(lái)源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請(qǐng)第一時(shí)間聯(lián)系我們修改或刪除,多謝。