是否有可能反映出主机组件?

时间:2013-03-16 23:05:16

标签: c#

例如,IIS承载ASP程序集,而SQL Server承载SqlClr程序集。如果我要编写托管服务器应用程序,托管程序集是否可以反映托管应用程序?或者app-domains可以防范这种情况吗?

为了记录,我并没有试图反思其他人的集会,我更有兴趣防止其他人反思我的。

1 个答案:

答案 0 :(得分:1)

如果托管程序集具有“反射”权限(请参阅http://msdn.microsoft.com/en-us/library/system.security.permissions.reflectionpermission.aspx),则它可以反映其获取的任何类型。因此,如果您担心某人“窥探”您的代码,请确保托管程序集在没有该权限的情况下运行沙箱。

注意:Microsoft会不断更改适用于所有其他Service Pack的确切限制。可以假设所有声明为“public”的内容都允许代码在反射中使用它,而不管权限如何:http://msdn.microsoft.com/en-us/library/system.security.permissions.reflectionpermissionflag.aspx但是由于托管代码必须通过这些公共API与托管应用程序进行交互,将它们从反射中隐藏起来不会对任何方式产生任何真正的好处。

相关问题