为中等信任级别编译 MVC 应用程序

Posted

技术标签:

【中文标题】为中等信任级别编译 MVC 应用程序【英文标题】:Compiling MVC application for Medium Trust Level 【发布时间】:2013-01-18 13:48:44 【问题描述】:

我正在尝试将 ASP.NET MVC4 站点部署到 HostGator 共享 Windows 主机。当他们的技术支持告诉我必须为中等安全性编译我的应用程序时,我遇到了一些麻烦。

据我所知,为应用程序设置信任级别的唯一方法是在 machine.config 或 web.config 中设置 <trust level="Medium">。假设我错了,是否有另一种方法可以编译我的应用程序以获得中等信任?

基于我最初的假设,以及我在this page 上找到的信息,我将信任级别添加到了我的 web.config:

默认情况下,Web 应用程序在完全信任的情况下运行并且具有 不受限制的权限。修改代码访问安全信任级别 在 ASP.NET 中,您必须在 Machine.config 文件或 应用程序级 Web.config 文件并将应用程序配置为 部分信任应用程序。我将信任级别放在我的 web.config 和 从主机获取此错误消息:

解析器错误消息:此配置部分不能用于 这条路。当站点管理员已锁定访问权限时会发生这种情况 使用 from 到本节 继承的配置文件。

但是 HostGator 仍然坚持我编译为中等信任,在这个问题上有人对我有什么建议吗?

【问题讨论】:

【参考方案1】:

你是对的。您可以将 web.config 的信任设置更改为中。但是,您可能有一些程序集无法在部分信任模式下工作(例如某些 IoC 容器)。

唯一确定的方法是运行它并找出答案。

【讨论】:

我们最终选择了另一家托管服务提供商。然而主机不是问题,而且已经很久了,我无法正确回忆我们是如何解决这个问题的。感谢您的回复。 @Matt 我遇到了同样的问题,将信任设置为中等会导致另一个错误 @yzwboy 我去度假了,我刚刚看到这个。您是否针对您的问题提出过问题? @Matt 我发现了我的问题,我的托管服务提供商不允许完全信任,而 Ninject 需要完全信任才能运行。因此,我将我的托管服务提供商切换到允许完全信任并修复它的托管服务提供商。谢谢

以上是关于为中等信任级别编译 MVC 应用程序的主要内容,如果未能解决你的问题,请参考以下文章

Expression<TDelegate>.在中等信任环境中编译

.NET 4.0 中等信任级别和 MYSQL 连接

中等信任中 MVC 控制器 + 依赖注入 (Ninject) 的问题

在中等信任下通过 GMail SMTP 发送电子邮件

反射会带来啥风险? (中等信任度)

System.Web.Providers 在中等信任下不起作用