|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我之所以想学。NET,是因为一直觉的BILLGATES好厉害,希望有一天能去微软,虽然现在还距离遥远,呵呵:)微软已公布了.NETFramework3.5SP1,相对之前的版本,新版包括了一个平安方面的改善,它同意开辟职员从收集共享文件中运转托管使用。
依据微软的官方申明,.NETFramework3.5SP1中有个特征是如许的:从收集共享文件里翻开的托管使用运转时和当地使用具有一样的举动,即完整信托。 在已往,因为平安的缘故原由,你没法从收集共享情况中运转托管代码。现在之以是在.NET中引进这个特征,是为了制止从收集长进行的平安打击。但是它并没有办理相干的平安威逼,由于非托管代码在这类情况中一向是可以被实行的。
微软程序司理BradAdams比来所做的一个查询拜访显现,良多人都想从收集共享情况中运转托管代码。微软回应了该需求,并在.NET3.5SP1中增添这一特征。
关于这个平安方面的改动,.NET运转时团队(RuntimeTeam)的架构师VancelMorrison批评说:我们犯了一个毛病。在2001年,我们觉得本人是在“默许即平安”方面的急前锋,也因而刚强地以为,终极我们必定能填补从收集共享文件运转非托管代码的“毛病”。我们也无视了这一决意所带来的疾苦。
可是跟着工夫的推移,我们发明本人太无邪了。改动非托管代码举动的收益率太低了,别的,关于平安性来讲,加倍分明的一点是,它必需充足复杂,也就是说对一切事变厚此薄彼。因而,假如你不想从收集运转托管代码程序,那末也不该该将非托管代码程序区分看待。 Vance也以为,由这一改动所引进的平安威逼并非那末严峻:关于那些以为我们因而而开启平安毛病之门的人,我想说我们已十分当心,只管制止呈现这类情形。基础的逻辑是,我们不会发生任何新的毛病,由于Windows同意非托管的可实行文件经由过程收集共享运转。 ShawnFarkas是来自CLR团队卖力暗码(Cryptography)类的一位软件工程师,他注释了这一新特征是怎样事情的:这一变动的中心头脑在于改动了我们处置收集装载使用程序的体例。当我们发明一个间接从收集共享上载进的.exe文件时,不会以为该文件来自于“当地收集(LocalIntranet)”,而是以为它来自于“我的电脑(MyComputer)”。这使该.exe文件会和默许的“我的电脑”代码群组相婚配,而不是和“当地收集”群组,而默许的CAS战略也会受权“我的电脑”代码群组为“完整信托(FullTrust)”。 关于那些想克制经由过程收集运转托管代码的人,Shawn提出了以下倡议:你能够在注册内外的HKLMSoftwareMicrosoft.NETFramework键处,将DWORD格局的LegacyMyComputerZone值设为1。 依据Shawn的说法,在以下的场景里,程序会议具有运转的权限:
- 任何间接从收集共享文件装载的托管.exe文件;
- 任何从与.exe文件统一目次装载的.exe流程中的程序集。
鄙人面的场景里,程序集没有运转的权限:
- 从载进.exe文件的共享文件子目次装载的程序集;
- 从不含有主.exe文件的共享文件中装载的程序集;
- 任何装载在LegacyMyComputer注册值设为1的呆板上的程序集;
- 任何装载到CLR宿主文件的程序集,包含以控件的情势装载到IE中的程序集;
- 当某个使用是从“真实的”我的电脑地位载进时,任何被该使用从共享文件装载的程序集。
检察英文原文:.NET3.5SP1RunsManagedApplicationsFromNetworkShares
来自:http://www.infoq.com/cn/news/2008/08/.NET-3.5-SP1-Runs-Managed-Code以前很热炒跨平台,主要是由于硅谷挑战微软霸主地位的热情,但是冷静下来后,跨平台往往不是那么一回事。假设你有个软件,所谓的跨平台,你只需要为第二个平台上重新编译一次就行了,这样很难么? |
|