ASP.NET团队的官方立场是中信任已过时。这意味着一些事情:
这里,上面的术语“中等信任”是指ASP.NET中的所有非完全信任配置,包括使用内置信任级别(最小,低,中,高)或任何自定义信任级别。
编辑2015年5月26日: .NET Framework作为一个整体已弃用部分信任,建议客户不要将其作为安全边界。 来自MSDN :
不应将.NET Framework中的代码访问安全性用作 具有部分可信代码的安全边界,尤其是代码 来历不明。我们建议不要加载和执行代码 没有采取其他安全措施的未知来源 地点。
一般而言,需要深入反思的所有东西都不能在Medium Trust上运行
在你的情况下:
自动映射:使用反射来发现匹配的属性和内存流来克隆它们(有一个版本,实际上在中等信任中有一些限制)
NHIbernate:使用反射发射来允许延迟加载,因为NH中的延迟加载是由代理实现的(为了避免这种情况,您可以禁用延迟加载或使用NHibernate ProxyGenerator,它是一个有助于预创建代理的实用程序)
Nhibernate ProxyGenerator
EF:实际上我没有发现EF和中等信任的大问题....是不用序列或集合序列化对象
IoC:IoC是反射的杀手应用程序:)您可以尝试使用适用于Medium Trust的AutoFac
AutoFac
一般来说,中等信任是一个很大的限制......但这一切都取决于你正在做什么样的项目。 还要考虑使用像Arvixe这样的一些完全信任托管
希望这可以帮助