0

www.example.com で小さな会社を管理するために設計されたアプリケーションがあります。また、見込み客がシステムの仕組みを確認できるデモ サイトも www.example.com/demo にあります。example.com サイトは問題なく動作しますが、デモ システムを介して www.example.com/demo/fileHere にあるファイルを読み書きしようとすると、次のエラーが発生し続けます。

[SecurityException: Request for the permission of type System.Security.Permissions.FileIOPermission, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' failed.]

app.config アプリの設定を次のように変更しようとしました。

<appSettings file="./demo" /> 

...しかし、これは修正されませんでした。

解決策や助けをいただければ幸いです。 デモ サイトに独自のドメインを与えないようにしています。

4

3 に答える 3

1

実行中のアセンブリに目的の場所での読み取り/書き込みのアクセス許可がないため、その例外が発生しています。

于 2012-07-27T16:13:52.870 に答える
0

このコード行を次のように変更します。

string path = Path.Combine(@"/MyFile/", ViewBag.Name + "/" + file.Name);

に:

string path = Path.Combine("~/MyFile/", ViewBag.Name + "/" + file.Name);

私が間違っている可能性がありますが、@"/MyFile/ を使用しているときに、サブドメインが親ドメインからファイルを開こうとしていたようです。これを "~/MyFile/" に置き換えることで、アプリケーションは適切なディレクトリを指すようになり、スローしなくなりました例外。

于 2012-07-27T16:56:31.620 に答える
0

ジョン、

より明示的な構文、つまり次の構文を試しましたか。

<appSettings>
  <add key="file" value="http://www.example.com/demo/"/>
</appSettings>

オッズを作るべきではありませんが、試してみる価値があります。ただし、この場合、IIS が外部リソースを利用できないことが問題だと思います。

于 2012-07-27T16:20:14.627 に答える