当我创建 Azure ASP.NET 应用程序时,默认情况下 .NET 信任级别是完全信任。我总是将其更改为类似于 ASP.NET 的中等信任级别的 Windows Azure 部分信任。
您可以通过在角色上选择属性时使用 GUI 或通过在定义文件 (.csdef) 中将 enableNativeCodeExecution 设置为 false 来执行此操作,如下所示:
<WebRole name="ServiceRuntimeWebsite" enableNativeCodeExecution="false">
作为具有安全意识的开发人员,我希望默认情况下以部分信任模式运行我的应用程序,以提供更高级别的安全性。如果我需要使用反射或 P/Invoke 之类的东西,作为开发人员,我想自己做出降低信任级别的决定。
我确信微软决定使用完全信任作为默认的 .NET 信任级别是有原因的,我只是看不到它。如果你知道原因,或者你认为你知道,请告诉我。