0

Visual Studioの2008を介してデバッグモードでプロジェクトを実行し、自分のマシンでphp Webページを実行したときに、C#asp.netWebサイトと通信するphpページにswfが埋め込まれたflex(3.5)アプリケーションを使用しています。すべてが正常に機能しました。次に、すべてをWebサーバーに移動しましたが、断続的にしか機能せず、機能しない場合はフラッシュログに次のエラーが発生します。

「エラー:ポリシーファイルの権限がないため、/ php-webpage /swf-fileからのリクエスターによる/c#websiteでのリソースの要求が拒否されました。」

私はポリシーファイルをよく読んでその目的を理解していますが、私のphp WebページとC#プロジェクトが同じサーバーでホストされている場合は、ポリシーファイルは必要ありません。ドメイン間で通信していません-同じサーバーを使用していますか?

ここで何かが足りないのですか、それとも単にポリシーファイルを誤解しているのですか?フラッシュログがポリシーファイルのアクセス許可について不要な場合に文句を言うのはなぜですか?

4

1 に答える 1

0

@ user1456312、私はC#サーバーについての知識がありませんが、それを解決するためのアイデアを提供できるかもしれません。

デバッグモードではセキュリティ制限がないので問題ありません。

ブラウザにURLアドレスを入力すると、crossdomain.xmlファイルを直接取得できますか?

クロスドメインファイルをどこに配置し、プログラムにアクセスするためのURLアドレスは何ですか?

テストには、次のクロスドメインを試すことができます。

<?xml version="1.0"?> 
<!DOCTYPE cross-domain-policy SYSTEM “/xml/dtds/cross-domain-policy.dtd”&gt;
<cross-domain-policy> 
<site-control permitted-cross-domain-policies="all"/> 
<allow-access-from domain="*" to-ports="*" secure="false"/> 
<allow-http-request-headers-from domain="*" headers="*" secure="false"/> 
</cross-domain-policy> 

このファイルは、制限がまったくないことを意味するため、本番用ではありません

Security.loadPolicyFile(url)必要に応じて、サーバー上の別の場所からcrossdomain.xmlファイルをロードするために使用できます。

于 2012-06-14T17:12:51.173 に答える