1

.NET 4デスクトップアプリケーションからWCFクライアントを開くと、次の例外が発生します。これは、クライアントインストールの1つでのみ発生しているようです。

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 4CAS-タイプ'System.Net.WebPermission、System、Version = 4.0.0.0、Action:Demandのアクセス許可の要求。これがだまされてしまう可能性があります。しかし、それは答えられていないので、現時点では不公平です。

これは、3.5 sp1より前のネットワークセキュリティの問題に似ているようです。この問題では、アプリケーションがネットワークの場所から実行されると、CASを介して多くのアクセス許可が拒否されていました。

このブログ投稿が解決策を提供すると思いますが、実行可能ファイル自体がリモートの場所からロードされた場合は適用されない可能性があります(最初の解決策を確認してください)http://www.damirscorner.com/CodeAccessSecurityStrikesBackInNET4.aspx

ただし、.Net Framework 4セキュリティモデルの調査(前述のブログ投稿と同じ回避策を提供します)も適用されない可能性があります。これは、ネットワークの場所から実行されるホストされていないExesが、デフォルトで完全に信頼されて実行されることを意味します。あなたのものではありません!

これが機能しない場合に試すことの1つは、exe(および拡張機能としてすべての参照)に厳密な名前を付けることです。

于 2012-12-11T12:32:19.983 に答える
0

Andrasの回答を読み、クライアントに提供する他のいくつかのアプリケーションを確認したところ、app.configファイルの次のコードで問題を分類できるようです(他のアプリケーションには存在しますが、問題が発生しているアプリケーションには存在しないため)。

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