我认为,现在这种情况非常普遍,所以令人惊讶的是,我找到了很好的清洁解决方案(即使在这里也是如此)。
我的ASP.NET MVC3 Web应用程序使用Entity Framework 4.1和代码优先方法(使用DatabaseInitializer为默认数据设定种子)。我还尝试了两个数据库选项:SQL Express 2008 R2和SQL Compact 4.一切都在本地工作正常。
现在我想托管我的应用程序,所以我发现hosting(中间一个称为'最佳'),最后(在一些问题之后)进入状态,我得到中等信任错误(我相信)。
该应用程序试图执行 不允许的操作 安全政策。授予这个 申请所需的许可 请联系您的系统 管理员或更改 应用程序的信任级别 配置文件。
让我们假设我不能以任何方式配置托管,我不认为,他们会把我转变为完全信任。
我需要做什么才能让我的应用程序在中等信任托管上工作?
编辑:我找到了一些答案,这些答案通常会在本地开发中传播设置中等信任,就这样做,所以我的问题现在可能是这样的:
为什么您的ASP.NET MVC3 EF 4.1应用无法在中等信任下工作的“前5个原因”是什么?
编辑:我已经为此添加了赏金,因为我希望看到一些讨论......或者至少更多的oppinions / experience,其中包含的不仅仅是“在本地开发中设置中等信任”。也许在这里没有什么可讨论的,但我只是好奇,因为我已经花了更多的时间在这上面。
答案 0 :(得分:5)
我看到其他人在服务器没有.NET 3.5 Service Pack 1时抱怨同样的错误,并且可以通过将DLL放在他们的bin文件夹中来解决它。
这里还有一些关于一些事情需要检查的信息: log4net throwing Security Exception in ASP.Net MVC web application
答案 1 :(得分:1)
您是否拥有最新的EF Code First库? RC之前的所有内容都不是中等信任兼容。
如果您打算使用SQL CE 4,它与中等信任兼容,但您deploy the SQL CE database engine files了吗?
您确定您的问题是EF Code First吗? AKA - 您是否尝试过首先部署一个简单的MVC站点并让它运行?对于尚未运行/支持MVC3的主机,Here's an article on setting up MVC in medium trust和另一个bin deploying MVC3。