Azure ASP.NETアプリケーションを作成すると、デフォルトで.NETの信頼レベルは完全信頼になります。私は常に、ASP.NETの中程度の信頼レベルに似たWindowsAzureの部分的な信頼に変更します。
これを行うには、ロールで[プロパティ]を選択するときにGUIを使用するか、次のように定義ファイル(.csdef)でenableNativeCodeExecutionをfalseに設定します。
<WebRole name="ServiceRuntimeWebsite" enableNativeCodeExecution="false">
セキュリティを意識した開発者として、私はデフォルトで、より高いレベルのセキュリティを提供する部分信頼モードでアプリケーションを実行したいと考えています。ReflectionやP/Invokeのようなものを使用する必要がある場合は、開発者として、自分でその信頼レベルを下げることを決定したいと思います。
マイクロソフトがデフォルトの.NET信頼レベルとして完全信頼を使用することを決定した理由があると確信していますが、私はそれを見ることができません。理由をご存知の場合、またはご存知だと思われる場合はお知らせください。