2012-07-11 48 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