當我創建Azure ASP.NET應用程序時,默認情況下,.NET信任級別爲「完全信任」。我總是將其更改爲類似於ASP.NET中等信任級別的Windows Azure部分信任。默認情況下,爲什麼Azure Web角色在完全信任中運行?
您可以通過使用GUI做時,你的角色或通過定義文件(.csdef)設置enableNativeCodeExecution爲false選擇屬性,就像如下:
<WebRole name="ServiceRuntimeWebsite" enableNativeCodeExecution="false">
作爲一個安全意識的開發者,我默認情況下希望以部分信任模式運行我的應用程序,從而提供更高級別的安全性。如果我需要使用Reflection或P/Invoke之類的東西,作爲開發人員,我希望自己做出降低信任級別的決定。
我確定微軟決定使用完全信任作爲默認的.NET信任級別是有原因的,我只是看不到它。如果你知道原因,或者你認爲你知道,請告訴我。