1

从 .NET 4 桌面应用程序打开 WCF 客户端时会引发以下异常。这似乎只发生在我们的一个客户端安装中:

Request for the permission of type 'System.Net.WebPermission, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed

有谁知道如何解决这个问题?

4

2 回答 2

3

有趣的是,这是来自 CruiseControl 的另一个(未回答的)SO:.Net 4 CAS - Request for the permission of type 'System.Net.WebPermission, System, Version=4.0.0.0, Action: Demand。这有可能最终成为骗局;但这目前是不公平的,因为尚未得到答复。

这似乎类似于 3.5 sp1 之前的网络安全问题,从网络位置运行的应用程序将通过 CAS 被拒绝许多权限。

我认为这篇博客文章可能会提供解决方案,但如果可执行文件本身是从远程位置加载的,它可能不适用(检查第一个解决方案)http://www.damirscorner.com/CodeAccessSecurityStrikesBackInNET4.aspx

虽然,还查看Exploring the .Net Framework 4 Security Model(它提供与上述博客文章相同的解决方法)它可能不适用,因为它意味着从网络位置运行的非托管 Exes 默认情况下应该完全受信任 - 显然你的不是!

如果这不起作用,要尝试的一件事是使 exe(以及扩展它的所有引用)具有强名称。

于 2012-12-11T12:32:19.983 回答
0

阅读了 Andras 的答案并检查了我们提供给客户的其他一些应用程序后,app.config 文件中的以下代码似乎可以对问题进行排序(因为它存在于我们的其他应用程序中,但不是我们遇到问题的应用程序):

<configuration>
  <runtime>
    <loadFromRemoteSources enabled="true" />
  </runtime>
</configuration>
于 2012-12-11T17:01:04.367 回答