2011-08-10 38 views
1

我發現類似的問題在MSDN上的論壇,但沒有回答(你可以檢查它here) .NET 4.0,使用過時的方法部分/全部信託模式驗證4.0

IsUnderHighTrust = SecurityManager.IsGranted( 
    new AspNetHostingPermission(AspNetHostingPermissionLevel.Unrestricted)); 

來作爲替代它建議使用AppDomain.CurrentDomain.PermissionSet

var permission = new PermissionSet(PermissionState.None); 
permission.AddPermission(
    new AspNetHostingPermission(AspNetHostingPermissionLevel.Unrestricted)); 

IsUnderHighTrust = permission.IsSubsetOf(AppDomain.CurrentDomain.PermissionSet); 

的PermissionSet也需要完全信任莫德。

因此,顯而易見的問題 - 如果應用程序處於Full或Medium Trust模式下,如何在Asp .Net 4.0下進行檢查?

回答

0

如何在代碼塊周圍放置try/catch(如上面的PermissionSet檢查),需要完全信任並捕獲SecurityException?這不是很漂亮,因爲這不是通常使用的try/catch應該使用的東西,但似乎它可以完成目標。

+0

這看起來像一個粗魯的黑客。我最好使用過時的方法。我很想知道這種MS解決方案... – Cheburek