Measurement Studio .NET アセンブリは、実行時のロードに 時間を要します 使用ソフトウェア: Measurement Studio>>.NET Support使用ソフトウェア・バージョン: N/A 使用ソフトウェア・バージョンに特化: N/A 二次のソフトウェア: Measurement Studio>>Standard Edition (Starter Kit)
問題: Measurement Studio .NET クラスライブラリを使用すると、アプリケーションのロードに時間がかかります。プロジェクトから Measurement Studio のアセンブリを削除するとロード時間が短くなります。何が原因ですか。また、どうすれば修復できますか 解決策: Measurement Studio のアセンブリだけでなく、デジタル署名されているすべての .NET アセンブリでこの現象が起こります。デジタル署名はコードサイニング (code signing) とも呼ばれ、マイクロソフトは .NET ライブラリに署名することを強く推奨しています。弊社では Measurement Studio の ActiveX や .NET コンポーネントに署名済みです。 アセンブリに署名することで、コンポーネント改ざんを防ぎ、ユーザがコンポーネント発行者の証明を知ることができるようになります。 .NET 共通言語ランタイム (Common Language Run-time; CLR) がの署名のある .NET ライブラリを確認する過程で、ライブラリの証明書が廃止されたり期限切れになっていないかチェックします。Windows では、この作業を CRL (Certificate Revocation List) をダウンロードすることで実行します。署名されたアセンブリを、.NET CLR が最初にロードするとき、CRL が証明書発行元からダウンロードしてからシステムにキャッシュします。 .NET CLR が署名されたアセンブリをロードし、CLR 発行元にアクセスできなかった場合、アセンブリの署名を確認できなかったという情報を記録します。したがってアセンブリはロードされますが、デジタル署名されていないものとして取り扱われます。.NET アセンブリのロードの過程で、Windows が CRL をダウンロードできないと場合には、15 秒のタイムアウトになるまで再取得しようとします。これは仕様どおりの挙動です。 .NET CLR が、CRL の配布元にアクセスできない場合には、署名済みアセンブリの確認中にエラーやセキュリティ関連の例外を出しません。 WinVerifyTrust() (.NET CLR が署名されたアセンブリを確認するのに使用する API) からのエラーは、アセンブリに署名されたとマークすることを禁止します。これは Internet Explorer がホストするインターフェイスを通してロードされたアセンブリには適用されません。CRL を手作業でダウンロードし、システムにインストールすることもできます。しかし CRL の有効期間は10日から15日なので、システムが CRL ファイルをアップデートしない限り、再度、同じ現象が発生します。 マイクロソフトは回避策として、Internet Explorer で CRL チェックを無効にすることを勧めています。Internet Explorer で CRL チェックを無効にするには、以下の手順にしたがいます。
関連リンク: 添付:
報告日時: 01/27/2005 最終更新日: 03/31/2005 ドキュメントID: 3HQAOI5B |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
