如何检查您是否在.NET中的中信任环境中运行?

时间:2009-09-02 17:23:24

标签: .net medium-trust

我正在GoDaddy上运行一个共享主机的网站(不是我的选择,因为它总是中等信任),而且我有一些高级功能,如果应用程序在High Trust中运行,我想打开它。

所以想知道,如果有办法在运行时检查应用程序是否在.NET中的中信任环境中运行?

1 个答案:

答案 0 :(得分:1)

您可以尝试以下代码:

if (!SecurityManager.IsGranted(new RegistryPermission(PermissionState.Unrestricted)))
{
    //do something.... not at full trust
}

if (!SecurityManager.IsGranted(new DnsPermission(PermissionState.Unrestricted)))
{
    //do something.... not at full trust
}

我从以下链接获得了这个: http://www.netomatix.com/development/webcaspermissions.aspx

这里是MSDN中安全管理器和注册表权限类的链接:

http://msdn.microsoft.com/en-us/library/system.security.securitymanager.isgranted.aspx http://msdn.microsoft.com/en-us/library/system.security.permissions.registrypermission.aspx

您需要添加对System.Security的引用,并为System.Security和System.Security.Permissions添加几个using语句。

编辑:

在Nick的评论之后添加:

您可以直接测试asp.net安全级别:

if (SecurityManager.IsGranted( new AspNetHostingPermission(AspNetHostingPermissionLevel.Medium)))
{Response.Write("Medium Trust level");}