Web配置:'请求配置失败'错误

时间:2014-03-14 17:03:23

标签: asp.net asp.net-mvc-4 web-config .net-4.5 piranha-cms

我正在尝试部署网站,但我收到以下错误:

  

尝试访问配置部分'system.web / globalization'时,ConfigurationPermission请求失败。要允许所有调用者访问此部分的数据,请在声明此部分的配置文件中将section属性'requirePermission'设置为等于'false'。 ---> System.Security.SecurityException:请求类型为'System.Configuration.ConfigurationPermission,System.Configuration,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b03f5f7f11d50a3a'的权限失败。

问题是我甚至没有在我的webconfig文件中定义该部分。因此我尝试将其定义如下:

1)我在webconfig文件的底部(在结束配置标记之前)添加了此代码

<globalization
           fileEncoding="utf-8"
           requestEncoding="utf-8"
           responseEncoding="utf-8"
           culture="fr-FR"
           uiCulture="fr-FR"
        />

2)我在文件的部分中添加了这段代码:

<configSections>
<section type="System.Web.Configuration.GlobalizationSection, System.Web.Globalization" name="globalization" requirePermission="false" />
</configSections>

但它仍然没有用。我正在使用共享主机方案,因此无法更改应用程序的信任级别。我对webconfig不是很熟练,我在msdn和google上做了一些研究来提出这个解决方案。但不幸的是,我仍然得到同样的错误。有什么想法吗?

更新:我注意到在许多示例中,PublicKeyToken,VersionNumber等都是在type属性中编写的。我将尝试为我正在使用的程序集找到正确的信息。好吧,我添加了关于程序集的更多细节,但它不起作用:

<section type="System.Web.Configuration.GlobalizationSection, System.Web, Version=4.0.0.0, Culture=neutral,  PublicKeyToken=b03f5f7f11d50a3a " allowDefinition="Everywhere" name="globalization" requirePermission="false" />

1 个答案:

答案 0 :(得分:1)

在过去的三年里,我开发了这个项目,你是第二个要求中等信任的人,所以我必须给出与上次相同的答案。

Piranha CMS 从未已经过中等信任的验证,原因很简单。通常,至少在我使用过的所有共享主机提供程序中,中等信任主要用于ASP.NET 1.0-3.5。我没有遇到任何实际使用.NET 4.0-4.5中等信任的人。如果你稍微谷歌,你会发现即使微软认为中等信任已经过时,例如:

Is trying to develop for Medium Trust a lost cause?

我的建议是切换托管服务提供商,因为这比花时间调查造成错误的原因要便宜得多。如果由于某种原因 HAVE 保持在中等信任范围内,则必须在本地针对源代码进行调试。如果您发现需要进行任何更改,您可以随时向回购请求发送拉取请求以包含它们。

但请注意,我们不测试中等信任,因此我们无法保证未来版本与中等信任兼容。

此致