0

我正在尝试部署一个网站,但出现以下错误:

尝试访问配置部分“system.web/globalization”时请求 ConfigurationPermission 失败。要允许所有调用者访问此部分的数据,请在声明此部分的配置文件中将部分属性“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" />
4

1 回答 1

1

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

Piranha CMS从未经过中等信任度验证,原因很简单。通常,至少对于我曾经合作过的所有共享主机提供商来说,中等信任主要用于 ASP.NET 1.0-3.5。我还没有遇到任何人实际上对 .NET 4.0-4.5 使用中等信任。如果你谷歌一下,你会发现即使是微软也认为中等信任已经过时了,例如:

尝试为 Medium Trust 开发是否会失败?

我的建议是更换托管服务提供商,因为这比花时间调查导致错误的原因更具成本效益。如果您出于某种原因必须保持中等信任,则必须根据源代码在本地对其进行调试。如果您发现需要进行任何更改,您可以随时将拉取请求发送回存储库以包含它们。

但请注意,我们不测试中等信任度,因此我们不能保证未来的版本也将与中等信任度兼容。

问候

于 2014-03-14T20:25:47.467 回答