要使.NET程序集允许除完全受信任的调用者以外的任何其他内容,必须使用AllowPartiallyTrustedCallers对程序集进行签名和归属.
但即使有了这个,CLR仍然(幸运的是)检查代码权限以确保部分信任的调用者可以执行所需的代码.
所以我的问题是,为什么不为所有程序集假定AllowPartiallyTrustedCallers属性?为什么不相反,那些真正不想要部分信任的呼叫者的人必须使用像DenyPartiallyTrustedCallers这样的属性?
编写部分受信任的调用者无法调用的代码很容易.编写可以调用的代码很难.这就是为什么最好选择加入而不是选择加入.
让权限较少的人称为拥有更多权限的人是一件大事.