国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項超值服

開通VIP
.net下開發(fā)COM 組件(1)
【導(dǎo)讀】本文介紹了在.net下如何開發(fā)COM+組件,并以實例相附
一、問題的提出
1、最終用戶的每次請求,都將讀取Mapping文件--可以通過緩存解決;
2、xxx子系統(tǒng)需要不斷的寫入Mapping文件--也可以先寫入內(nèi)存然后批量寫入文件解決;
二、分析解決問題
由于分別有2個或更多子系統(tǒng)需要對同一文件進(jìn)行讀寫操作,而客戶端又有很大的并發(fā)性,所以極可能出現(xiàn)讀寫沖突或錯誤,也必將影響系統(tǒng)的性能。
通過調(diào)用共同的進(jìn)程外組件的方式來讀寫文件;而這個共同的進(jìn)程外組件只有在自身啟動的時候把文件內(nèi)容load到內(nèi)存,當(dāng)文件有變化時更新內(nèi)存。
三、COM+組件介紹
早在window2000發(fā)布時就已經(jīng)產(chǎn)生了COM+,并集成在操作系統(tǒng)中,在運(yùn)行的時候是以服務(wù)的形式存在的。COM+增加了一系列的MTS(一種系統(tǒng)服務(wù),用于管理數(shù)據(jù)庫中的持久性數(shù)據(jù),也處理在事務(wù)中的持久性消息隊列和文件系統(tǒng))服務(wù):
1、事務(wù)服務(wù):它確保了在分布式系統(tǒng)中的數(shù)據(jù)完整性。
2、安全服務(wù):它的安全模型提供了處理安全性而不用編寫任何代碼的方法。
3、同步服務(wù):提供了有管理地解決組件中并發(fā)問題的方法,但卻不用編寫代碼。
4、資源管理:(包括資源管理器和資源分配器)管理數(shù)據(jù)庫連接、網(wǎng)絡(luò)連接和內(nèi)存等。
5、JIT激活:即(Just In Time)是從MTS繼承下來的一項服務(wù),當(dāng)客戶調(diào)用時才將該對象的一個實例保持為活躍狀態(tài)并緩存在服務(wù)器內(nèi)存中,使用完對象后,會通知MTS環(huán)境可以釋放該對象所占用的資源了,如數(shù)據(jù)庫連接。
6、對象池:提供一個線程池來存放現(xiàn)成的對象,以供下次再用,是系統(tǒng)的一項自動服務(wù)。當(dāng)有應(yīng)用程序訪問COM+組件時,即為應(yīng)用程序創(chuàng)建該組件的一個實例并存放在對象池中,應(yīng)用程序關(guān)閉后即銷毀實例,可以自由配置組件使它的實例在池中的狀態(tài),實現(xiàn)了實例的重用性,提高應(yīng)用程序的性能和伸縮性。
7、基于角色的安全:這個容易理解,即驗證角色,給予安全許可,給不同的用戶予不同的權(quán)限。
8、隊列組件(MSMQ):提供異步消息隊列,可以自動按其形式將數(shù)據(jù)轉(zhuǎn)換成數(shù)據(jù)包。
9、共享屬性管理器(SPM):用來管理存儲在內(nèi)存中的對象狀態(tài)信息,在一個服務(wù)器進(jìn)程內(nèi)可以用來共享多個對象間的狀態(tài),并提供并發(fā)處理。
10、補(bǔ)償資源管理器(CRM):用于在處理事務(wù)期間生成日志文件并可處理系統(tǒng)崩潰。包括CRM工作器(是CRM的主要部分,通過CRM的基礎(chǔ)設(shè)施提供的接口將事務(wù)的相關(guān)信息寫入日志,并在需要時檢索日志文件)和CRM補(bǔ)償器(用于在事務(wù)完成后,將事務(wù)和生成的日志文件提交給執(zhí)行事務(wù)的用戶)。
11、并發(fā):即允許一個應(yīng)用程序中的多個進(jìn)程同時運(yùn)行,進(jìn)程被分成各組上下文(有相同需求的對象集合)包含在單元(一個進(jìn)程內(nèi)的一組上下文)中,一個進(jìn)程可包含多個上下文,都涉及到不同的需求的對象而且每個上下文都有一個唯一的COM對象來提供COM+事務(wù)處理和JIT激活等服務(wù)。利用COM+提供的工具可以創(chuàng)建執(zhí)行交易的多層應(yīng)用程序,還可以處理線程分配的問題。OK,介紹完COM+的功能下面再介紹COM+的類型。
COM+有幾種不同用途的類型:
1、應(yīng)用程序代理:包含應(yīng)用程序注冊信息的文件,即當(dāng)有客戶訪問遠(yuǎn)程計算機(jī)的服務(wù)器程序時,運(yùn)行在客戶端的應(yīng)用程序代理就會將服務(wù)器應(yīng)用程序的信息寫入客戶端器計算機(jī)中。
2、服務(wù)器應(yīng)用程序:即在COM+應(yīng)用程序本身的進(jìn)程內(nèi)執(zhí)行COM+應(yīng)用程序,同時使用并發(fā)性來處理組件。
3、庫應(yīng)用程序:是在客戶應(yīng)用程序的進(jìn)程內(nèi)執(zhí)行的,裝載在客戶應(yīng)用程序進(jìn)程內(nèi)的,使用基于任務(wù)的安全性,缺點(diǎn)是不支持遠(yuǎn)程訪問和隊列組件。
4、COM+預(yù)安裝應(yīng)用程序:到管理工具中的組件服務(wù)中的COM+應(yīng)用程序文件夾中查看就明白什么是COM+預(yù)安裝應(yīng)用程序了,它是在COM+安裝過程中自動安裝進(jìn)組件服務(wù)的應(yīng)用程序,不能修改也不能刪除。
同時涉及到一個叫“程序集(Assembly )”的概念:它是CLR所有類型和其它資源(如位圖文件等)的集合。可通過管理工具下的“配置.NET框架”來查看。包括有私有和共享的程序集。私有程序集:它只能被放在與該程序集相同路徑的應(yīng)用程序訪問。默認(rèn)為私有,必須放在使用它的應(yīng)用程序的文件夾中。共享程序集:指添加在GAC(Global Assembly Cache)中的程序集。GAC是專門用來存放程序集中,使應(yīng)用程序可以共享這些程序集,有一點(diǎn)必須注意,就是存放在GAC中的程序集必須有一個唯一的名字,可以通過在.NET命令執(zhí)行窗口中打入sn -k assemblyname.snk 來生成一個唯一的名稱,叫做強(qiáng)名稱,生成強(qiáng)名稱后,會有一個公鑰附加在此程序集上,用于阻止名字相似而被代替的危險。
.NET中對程序集的安全性提供了兩種機(jī)制:一種是前面提到的強(qiáng)名稱,一種是使用Signcode(可理解為數(shù)字簽名)。Signcode.exe用來標(biāo)記一個程序集,同時嵌入一個數(shù)字簽名到程序集中,可以讓用戶識別創(chuàng)建此程序集的開發(fā)者。
(注:在GAC中不能有兩個相同名稱的強(qiáng)名稱,否則就不叫強(qiáng)名稱了,但可以存儲一個程序集的多個拷貝而且在GAC中的程序集只能被擁有一定權(quán)限的用戶刪除)
關(guān)于程序集的版本號:每一個版本都有一個128位的版本號,表示為四部分:Major(為主版本號,項目有變化時即改變).Minor(添加一個功能到項目時改變).Build.Revision(后兩個是自動更新的),這些版本信息可以通過在應(yīng)用程序中的AssemblyInfo.cs文件來查看。
又是一堆的理論,下面介紹COM+的應(yīng)用:在.NET中使用COM+服務(wù)的組件就叫做.NET服務(wù)組件,跟一般的組件不同,區(qū)別在于前者使用了COM+服務(wù)。使用.NET服務(wù)組件的目的也就是為了可以訪問COM+服務(wù)的一些基類如ServicedComponent和自動事務(wù)處理,JIT,對象池和安全性方面等。
本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
進(jìn)程、應(yīng)用程序域、程序集、對象上下文
用.Net寫好的DLL如何能讓非.Net的程序使用呢?(如VB6)
.Net應(yīng)用程序打包部署總結(jié)
ASP.NET頁面剖析(1)
COM, COM+ and .NET 的區(qū)別
解決方法:未能加載文件或程序集“Microsoft.Office.Interop.Excel。。
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服