1

イントラネット上の PC1 と PC3 の 2 台のコンピューターでホストされている同一の asp.net アプリケーションがあります。.NET コントロールは object タグを使用してホストされます。次の 3 つの URL は、PC1 で実行すると正しく機能します。

http://pc1/test/test.aspx (他の 2 つの URL では、pc1 が pc3 と localhost に置き換えられています)

IE v8 の 3 つの URL はすべて、.NET コントロールを含むページを示しています。

ただし、同じ URL は PC3 では機能しません。それらのコントロールは、小さな赤い X 記号で示されます。

2 番目のマシンの Fiddler ビューには、.NET dll が適切にダウンロードされていることが示されますが、fusion ログと IEHost ログには何も表示されません。最初のマシン フュージョン ログと IEHost ログは、予想されるレポートを示しています。

両方のマシンの IE は、上記の 3 つの URL すべてを信頼済みゾーンに含めるように設定されています。トラステッド ゾーンの .NET2 管理トラストは、FullTrust に設定されています。さらに、FullTrust を提供するために、pc1 と pc3 のコード グループを作成しました。

2 台目のマシンの IE で .NET コントロールが表示されないのはなぜですか? また、IEHost と Fusion のログが作成されないのはなぜですか?

4

3 に答える 3

2

ご存知かもしれませんが、IE8はインターネットゾーンでの.NETUserControlsの使用をブロックします。 http://blogs.msdn.com/ieinternals/archive/2009/10/09/DotNet-UserControls-Do-Not-Load-in-IE8-Internet-Zone.aspx

おそらく、コントロールが機能しないマシンでは、URLAction2005も信頼済みゾーンに設定されていますか?

.NETコントロールの他のIEゾーンセキュリティ設定を「プロンプト」に変更して、プロンプトが表示されるかどうかを確認しましたか?そのマシンを使用して、他の誰かの.NETコントロールをロードしようとしましたか?そのマシンには、.NET1.1フレームワークをIEプロセスにロードして2.0フレームワークのロードを防ぐ.NETアドオンが含まれている可能性がありますか?

于 2010-01-02T01:39:00.197 に答える
2

この問題を解決するのを手伝ってくれた Eric と Aaron の両方に感謝します。IE にインストールされている McAcfee サイトアドバイザー アドオンが .NET コントロールへのアクセスをブロックしていたことが判明しました。ただし、フォームで ActiveX コントロールを許可するのは興味深いことです。McAfee は、.NET コントロールが IEHost.dll にアクセスする前に、.NET 関連の権限チェックを行っているようです。問題を解決するために、McAfee Site Advisor を無効にしました。

于 2010-01-04T17:13:26.117 に答える
1

すべてが正しく設定されているようです。

あなたがチェックしたいと思うかもしれない1つのこと、そしてこれは暗闇の中でのショットかもしれません、それはPC3上のあなたの一時的なインターネットファイルです。アセンブリが実際にそこにダウンロードされていることを確認してください。古いファイルがたくさんある場合は、制限を超えている可能性があります。

インターネット一時ファイルをクリアして、もう一度やり直してください。また、Temporary Internet Filesフォルダーをチェックして、実際にそこにあるかどうかを確認します。このために保存されていない場合は、フュージョンログに何も表示されない理由が説明されます。

于 2009-12-31T18:31:50.093 に答える