2012-07-11 43 views
1

在面试中,面试官问我一个问题, 确保在.net中安全执行代码的组件是什么。我在谷歌尝试但失败。任何人都可以给我答案或链接吗?什么是确保安全执行代码的组件

我找到了一个word文档。我发现安全代码执行的组件是Assembly加载程序,代码验证程序,JIT。它是否正确?

+0

哪种代码? – 2012-07-11 13:57:23

+0

这可能是指**许多**的东西。尽管.Net垃圾收集器(自动分配和处置内存)立即引起了关注 – dtsg 2012-07-11 14:01:06

+0

这个问题是关闭主题.. ?? – Searcher 2012-07-11 14:07:43

回答

1

查看CLR安全模型。微软有一篇关于它的好文章。

摘要:

.NET Framework的公共语言运行时有没有被运行它的操作 系统的局限性束缚了自己的安全 执行模型。另外,与旧的基于委托人的安全性不同,CLR根据来自哪里的代码是 而不是用户是谁执行安全策略。这种称为代码 访问安全性的模型在当今的环境中很有意义,因为通过互联网安装的代码太多了,即使是可信的用户也不知道该代码是否安全的 。

The Security Infrastructure of the CLR

0

我的回答了我的头顶部将是一个Try-Catch块。您需要按类型捕获异常以向用户提供有意义的输出(如果需要),但是一般异常对于内部测试非常有用。

try 
{ 
    /*Some code which could throw exceptions.*/ 
} 
catch (Exception e) 
{ 
    Console.WriteLine("Error: {0}\nStack Trace: {1}", e.Message, e.StackTrace); 
} 

但是,我只是想说“安全执行”的意思是没有崩溃。

0

“安全执行代码”可能意味着很多事情。但我认为面试官要求代码访问安全,这是.net环境的安全模型。

CAS对于所有框架版本都不相同,并且这里是一个复杂的主题。基本上,它允许或者基于组件和代码符号,装配体原点,信任级别等禁止代码执行

你可以得到一些介绍这里:

2.0或3.5 =>http://msdn.microsoft.com/en-us/library/c5tk9z76(v=vs.90

4.0或4.5 =>http://msdn.microsoft.com/en-us/library/c5tk9z76(v=vs.100