5
我想確保我的ASP.Net庫在中信任下工作。但是我遇到了問題,因爲如果它在中等信任下運行,我需要禁用一些代碼。如何確定當前的應用程序是否爲中信任
如何從C#中確定當前應用程序是否爲中等信任?
具體來說,我試圖讀取web.config中的customErrors部分,我得到安全錯誤
我想確保我的ASP.Net庫在中信任下工作。但是我遇到了問題,因爲如果它在中等信任下運行,我需要禁用一些代碼。如何確定當前的應用程序是否爲中信任
如何從C#中確定當前應用程序是否爲中等信任?
具體來說,我試圖讀取web.config中的customErrors部分,我得到安全錯誤
這裏本文介紹一種機制來確定信任級別:
下面是代碼以防萬一鏈接死:
AspNetHostingPermissionLevel GetCurrentTrustLevel() {
foreach (AspNetHostingPermissionLevel trustLevel in
new AspNetHostingPermissionLevel [] {
AspNetHostingPermissionLevel.Unrestricted,
AspNetHostingPermissionLevel.High,
AspNetHostingPermissionLevel.Medium,
AspNetHostingPermissionLevel.Low,
AspNetHostingPermissionLevel.Minimal
}) {
try {
new AspNetHostingPermission(trustLevel).Demand();
}
catch (System.Security.SecurityException) {
continue;
}
return trustLevel;
}
return AspNetHostingPermissionLevel.None;
}
我剛剛在一個ASP.NET MVC3應用程序中運行,然後以完全信任的方式測試它,它完成了它所說的任務。
lol哇,這是一種相當殘暴的方式 – Earlz 2011-06-13 02:15:04
我猜如果你只是在'Application_Start'上做一次,那麼它在偉大的計劃中就不是什麼大事了。問題在於你的信任度越低,你可以嘗試的東西就越少,這是剩下的一件事,你可以在所有信任級別下嘗試。 – Kev 2011-06-13 07:59:21