【问题标题】:Deploying EF 4.1 code-first ASP.NET MVC3 to medium trust shared hosting将 EF 4.1 代码优先 ASP.NET MVC3 部署到中等信任共享主机
【发布时间】:2011-08-21 18:54:09
【问题描述】:

我认为,现在这种情况很常见,令人惊讶的是,我很难找到好的和干净的解决方案(即使在 SO)。

我的 ASP.NET MVC3 Web 应用程序使用 Entity Framework 4.1 和代码优先方法(使用 DatabaseInitializer 播种默认数据)。我还尝试了两个数据库选项:SQL Express 2008 R2 和 SQL Compact 4。在本地一切正常。

现在我想托管我的应用程序,所以我找到了hosting(中间一个称为“最佳”),最后(在一些问题之后)进入状态,我得到了中等信任错误(我相信)。

应用程序试图执行 不允许的操作 安全政策。授予这个 申请所需的权限 请联系您的系统 管理员或更改 应用程序的信任级别 配置文件。

让我们假设我无法以任何方式配置该托管,而且我不认为他们会将我切换为完全信任。

我必须做些什么才能让我的应用程序在中等信任主机上运行?

编辑:我找到了一些通常在本地开发人员中传播设置中等信任度的答案,并且就这样做了,所以我的问题现在可能是这样的:

您的 ASP.NET MVC3 EF 4.1 应用无法在中等信任下运行的“前 5 大原因”是什么?

编辑:我为此添加了赏金,因为我希望看到一些讨论......或者至少更多的意见/经验,不仅仅是“在本地开发人员设置中等信任”。也许这里没有什么可讨论的,但我只是好奇,因为我在这方面花费的时间比我想的要多。

【问题讨论】:

  • @Haacked:我提供了错误报告here
  • EF Code First 好像无法在服务器上创建数据库文件,您是否尝试过在本地创建数据库文件并将它们复制到服务器。
  • @Wim:是的,我尝试使用 sql ce 4,将 db 生成到 app_data 中并进行部署。没用......(不完全记得为什么......最近有点忙,所以我无法深入研究它)。

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


【解决方案1】:

当服务器没有 .NET 3.5 Service Pack 1 并且能够通过将 DLL 放在他们的 bin 文件夹中解决该问题时,我看到其他人抱怨同样的错误。

这里还有一些关于需要检查的事项的更多信息: log4net throwing Security Exception in ASP.Net MVC web application

【讨论】:

  • 谢谢,我正在使用 .Net 4,但答案的第二部分也很有用。 +1
【解决方案2】:

你有最新的 EF Code First 库吗? RC 之前的所有内容都不兼容中等信任。

如果你打算使用 SQL CE 4,它是中等信任兼容的,但你 deploy the SQL CE database engine files 了吗?

您确定您的问题是 EF Code First 吗? AKA - 您是否尝试过首先部署一个简单的 MVC 站点并使其运行? Here's an article on setting up MVC in medium trustbin deploying MVC3 上的另一个用于尚未运行/支持 MVC3 的主机。

【讨论】:

  • 感谢您的回复。我有最新的 EF 我相信(4.1)。我没有尝试部署 sqlce 的 bin 文件,因为 a.) 我的提供商说,他们已经支持它; b.) 我正在使用 Web 部署(来自 Visual Studio 和 Web 矩阵),我认为当我使用 SQLCE4 提供程序时,一些 .dll 会自动部署在那里。所以这不应该需要任何手工工作。并回答您的第三个问题:我尝试从网络矩阵和一个空的 mvc 应用程序部署默认的“面包店”网站,两者都可以正常工作(但我没有深入调试它们,我只是看到它们正在运行)。跨度>
猜你喜欢
  • 1970-01-01
  • 2012-05-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-12-31
  • 1970-01-01
  • 2020-09-30
相关资源
最近更新 更多