前面好幾篇文章,老周都跟大伙伴們聊了跟應(yīng)用程序域有關(guān)的話題,干脆咱們一聊到底吧,做學(xué)問(wèn)就應(yīng)該這樣,有恒心。

App Domain的創(chuàng)建新應(yīng)用程序域的方法中,有一個(gè)特殊的重載:

public static AppDomain CreateDomain(string friendlyName, Evidence securityInfo, AppDomainSetup info, PermissionSet grantSet, params StrongName[] fullTrustAssemblies);

這個(gè)重載比較特殊,它與咱們今天扯的話題接近,因?yàn)樗膮?shù)列表中有一個(gè)是 PermissionSet 類(lèi)型的,它表示一個(gè)權(quán)限的集合,當(dāng)創(chuàng)建應(yīng)用程序域時(shí),通過(guò)這個(gè)權(quán)限集合,限制在新應(yīng)用程序域中執(zhí)行的代碼的權(quán)限。在各個(gè)CreateDomain方法的重載中,只有這個(gè)有設(shè)置權(quán)限集的參數(shù)。

運(yùn)用這個(gè)重載方法,可以將你覺(jué)得要限制權(quán)限的代碼放到這個(gè)新的應(yīng)用程序域中執(zhí)行,即創(chuàng)建一個(gè)“沙箱”。比如,你拿到別人寫(xiě)的一個(gè)類(lèi)庫(kù)A,不過(guò)你不知道這個(gè)類(lèi)庫(kù)A在執(zhí)行過(guò)程中會(huì)干什么,于是,你希望在使用這個(gè)來(lái)路不明的類(lèi)庫(kù)時(shí),可以限制一下它,例如不讓它讀寫(xiě)文件,或者說(shuō)只允許它訪問(wèn)某些目錄和文件。

 

為了偷工減料,寫(xiě)出豆腐渣程序,老周舉的這個(gè)例子,是把做測(cè)試用的代碼寫(xiě)到主程序集中。它有一個(gè)類(lèi),類(lèi)中有一個(gè)方法,調(diào)用之后,會(huì)在“文檔”庫(kù)中創(chuàng)建一個(gè)文件,然后寫(xiě)入一些見(jiàn)不得人的內(nèi)容。

平面設(shè)計(jì)培訓(xùn),網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn),美工培訓(xùn),游戲開(kāi)發(fā),動(dòng)畫(huà)培訓(xùn)

        		

延伸閱讀

學(xué)習(xí)是年輕人改變自己的最好方式-Java培訓(xùn),做最負(fù)責(zé)任的教育,學(xué)習(xí)改變命運(yùn),軟件學(xué)習(xí),再就業(yè),大學(xué)生如何就業(yè),幫大學(xué)生找到好工作,lphotoshop培訓(xùn),電腦培訓(xùn),電腦維修培訓(xùn),移動(dòng)軟件開(kāi)發(fā)培訓(xùn),網(wǎng)站設(shè)計(jì)培訓(xùn),網(wǎng)站建設(shè)培訓(xùn)學(xué)習(xí)是年輕人改變自己的最好方式