将EF 4.1代码优先的ASP.NET MVC3部署到中等信任共享主机

时间:2011-05-09 15:15:53

标签: asp.net-mvc entity-framework iis deployment

我认为,现在这种情况非常普遍,所以令人惊讶的是,我找到了很好的清洁解决方案(即使在这里也是如此)。

我的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,其中包含的不仅仅是“在本地开发中设置中等信任”。也许在这里没有什么可讨论的,但我只是好奇,因为我已经花了更多的时间在这上面。

2 个答案:

答案 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