質問

どうも。私は明らかに珍しいことではない問題を解決しようとしていますが、これがどのように人々のために解決されたかを知る方法はわかりません。 IISを介してマシンでStructureMapを実行すると、例外が発生し、次のようになります。

**Description**: The application attempted to perform an operation not allowed by the security policy.  To grant this application the required permission please contact your system administrator or change the application's trust level in the configuration file.
**Exception Details**: System.Security.SecurityException: Request for the permission of type 'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.

この質問はSO( https://stackoverflow.com/questions/784666/ )にあります。< a href = "http://codebetter.com/blogs/jeremy.miller/archive/2008/11/30/a-gentle-quickstart-for-structuremap-2-5.aspx" rel = "nofollow noreferrer"> inこのブログ投稿へのコメントおよび 1年ほど前にstructuremapメーリングリストで

私の問題は、それを外部のホスティング環境で実行していないことです。自分のボックス(IIS 7.5、Win7 RC、.NET 3.5)で実行することさえできません。カスタムポリシーファイルを使用するようにサイトを構成しようとしましたが、FileIOPermissionには無制限のアクセス権が設定されています...サイコロはありません。誰かがいくつかのヒントやリンクを持っているなら、それは大歓迎です。

更新 したがって、これが問題を解決する最善の方法である方法はありませんが、ジョシュアが言及したことを掘り下げて調べた後、これらを機能させるために私がしなければならなかったものがあります: StructureMap、コードアクセスセキュリティと問題の悪い解決策。より良い解決策をいただければ幸いです。

役に立ちましたか?

解決

これはバグであり、トランクで修正されています。 2.6+リリースに含まれます。 StructureMapの一部の以前のバージョンでは、動的アセンブリを不必要にディスクに書き込もうとするか、ファイルシステムから不必要に読み込もうとしました。

ファイルシステム(ASP.NET)のフルパスへのアクセスを許可しない制限された環境で実行している場合は、コンテナを構成するときにIgnoreDefaultFile = trueを設定してください。これにより、StructureMap.configからXML構成をロードする機能が無効になることに注意してください。

他のヒント

価値があるのは、ボックスを完全に制御し、すべての権限を完全に信頼するように設定するという同じ問題に出くわしたことです。 IIS 7.5では、特定のアプリケーションプールに使用されるIDをApplicationPoolIdentityではなくNetworkServiceに変更する必要がありました。 IISを再起動すると、機能しました。

FYI、StructureMap v2.6.1を使用していますが、この問題に遭遇しました。

XML構成を使用しないため、構成コードに次の行を追加し、問題を修正しました。

IgnoreStructureMapConfig = true;

IIS 7.5を搭載したWindows 7で公式のStructureMap 2.5.4ビルドを使用すると、この問題が引き続き発生します。 マリオックの変化

  ObjectFactory.Initialize(x =>
    {
      x.UseDefaultStructureMapConfigFile = false;
      x.IgnoreStructureMapConfig = true;

FileIOPermission 例外を解決するために必要でしたが、その後、タイプ&#8216; System.Web.AspNetHostingPermission、System、Version = 2.0.0.0、Culture =の許可のリクエストを受け取りましたニュートラル、PublicKeyToken = b77a5c561934e089&#8242; マイクのソリューションを使用して解決しました(段階的な視覚化)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top