【发布时间】:2011-07-29 07:23:57
【问题描述】:
这类似于Odd Exception in MVC 3 Project。
我们有一个完全信任运行的 ASP.NET 4.0 应用程序。我们需要在 web.config 中有以下行,否则我们正在使用的库之一不起作用。 (因为它明确使用了以前版本的 .NET 中现已过时的 CAS 模型)。
<trust legacyCasModel="true" />
鉴于此设置,我们无法使用动态关键字或依赖它的 ASP.NET MVC 的某些功能。
例如,以下代码导致异常:
dynamic d = new object();
d.test = "jason";
例外是:
Dynamic operations can only be performed in homogenous AppDomain.
如果 legacyCasModel 设置为 true,有什么方法可以使 dynamic 关键字起作用? (如果设置为 false,一切正常,除了需要它的库。)
想法:
鉴于我完全信任运行,我假设 AppDomain 中的一个程序集正在使用减少的权限(因此是非同构的)。有没有一种方法可以简单地告诉它以完全信任模式运行,从而使 AppDomain 同质化?
我应该能够以某种方式重构我的代码以将有问题的程序集加载到另一个 AppDomain 中吗?我不熟悉这样做的典型方法,但它看起来很复杂。
我可以启用其他一些神奇的配置设置来使其工作吗?
【问题讨论】:
-
您是否尝试将其加载到不同的应用程序域?有相关的源代码吗?
标签: asp.net asp.net-mvc permissions dynamic-data