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