[FIX] ASP.NET からトランザクション COM+ コンポーネントを呼び出す際の各種の問題

文書翻訳 文書翻訳
文書番号: 318000 - 対象製品
この記事は、以前は次の ID で公開されていました: JP318000
この資料は、アーカイブされました。これは "現状のまま" で提供され、更新されることはありません。
重要 : この資料には、レジストリの編集に関する情報が含まれています。レジストリを編集する前に、問題が発生した場合に備えて、レジストリの復元方法を理解しておいてください。復元方法の詳細については、Regedit.exe のヘルプ トピック「レジストリを復元する」、または Regedt32.exe のヘルプ トピック「レジストリ キーを復元する」を参照してください。
すべて展開する | すべて折りたたむ

現象

ASP.NET から マネージ トランザクション COM+ コンポーネントまたはアンマネージ トランザクション COM+ コンポーネント を呼び出すと、アプリケーションで以下の問題が複数発生する可能性があります。
  • アクセス違反
  • メモリ リーク
  • ハンドル リーク
  • デッドロック
  • 処理速度の低下

原因

以下のいずれかの条件が成立すると、この現象が発生する可能性があります。
  • COM+ 1.0 の不具合が原因でデッドロック、メモリ リーク、およびハンドル リークが発生する。
  • COM+ 1.0 の 2 つの不具合が原因でアクセス違反が発生する。
  • MDAC 2.7 の不具合が原因で処理速度が低下する。

解決方法

Microsoft Windows 2000 製品の Web サーバー上で ASP.NET から COM+ コンポーネントを使用する場合、上記の問題を回避するには、記載されている順に次の方法を使用してください。
  • Windows 2000 Service Pack 2 (SP2) と COM+ 修正プログラム ロールアップ パッケージ 18.1 をインストールします。COM+ 修正プログラム ロールアップ パッケージ 18.1 を入手するには、Microsoft Product Support Services にお問い合わせください。Windows 2000 Service Pack 3 (SP3) のリリース時には、上記の修正が収録される予定です。 COM+ Hotfix Rollup Package 18.1 の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
    313582 Windows 2000 SP2 以降の COM+ 修正 ロールアップ パッケージ 18.1
  • 新しい COM+ STA スレッド プールをアクティブ化します。これを行うには、レジストリを次のように編集します。 警告 : レジストリ エディタの使い方を誤ると、深刻な問題が発生することがあります。最悪の場合、オペレーティング システムの再インストールが必要です。マイクロソフトは、レジストリ エディタの誤用により発生した問題に関しては、一切責任を負わないものとします。レジストリ エディタは、自己の責任においてご使用ください。

    レジストリの編集方法の詳細については、レジストリ エディタ (Regedit.exe) のヘルプ トピック「キーと値の変更」、または Regedt32.exe のヘルプ トピック「レジストリ情報の追加と削除」と「レジストリ情報の編集」を参照してください。レジストリを編集する前にレジストリのバックアップを必ず作成してください。Windows NT または Windows 2000 を実行している場合、システム修復ディスク (ERD) も更新する必要があります。
    キー : HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\COM3\STAThreadPool
    値の名前 : ActivateNewPool
    データ型 : REG_DWORD
    値のデータ : 1
    : この設定を有効にするには、コンピュータを再起動する必要があります。

  • : この設定を有効にするには、コンピュータを再起動する必要があります。 SQL Server 2000 を使用している場合、SQL Server 2000 Service Pack 1 (SP1) またはそれ以降をインストールしてください。

    SQL Server 2000 の Service Pack の入手については、次のマイクロソフト Web サイトにアクセスしてください。
    http://www.microsoft.com/japan/sql/
  • : この設定を有効にするには、コンピュータを再起動する必要があります。 MDAC 2.7 の処理速度の問題に対する修正が必要な場合は、Microsoft Product Support Services にお問い合わせください。MDAC 2.7 SP1 のリリース時には、上記の修正が収められる予定です。
  • : この設定を有効にするには、コンピュータを再起動する必要があります。 System.EnterpriseServices.ServicedComponent クラスから派生したオブジェクトに対して、明示的に Dispose メソッドを呼び出す必要があります。高負荷条件では、明示的に Dispose を呼び出さないと、ハンドルが解放されるまでにその数が 10,000 〜 30,000 にまで増大します

状況

マイクロソフトでは、この問題をこの資料の冒頭に記載したマイクロソフト製品の問題として認識しています。

これらの修正は、Windows 2000 SP3 と MDAC 2.7 SP1 で一般に公開される予定です。上述の Service Pack がリリースされる前に修正プログラムが必要な場合は、Microsoft Product Support Services までお問い合わせください。

関連情報

この資料は米国 Microsoft Corporation から提供されている Knowledge Base の Article ID 318000 (最終更新日 2002-04-20) をもとに作成したものです。

プロパティ

文書番号: 318000 - 最終更新日: 2014年2月24日 - リビジョン: 4.2
この資料は以下の製品について記述したものです。
  • Microsoft COM+ 1.0
  • Microsoft ASP.NET (included with the .NET Framework)
  • Microsoft Data Access Components 2.7
  • Microsoft .NET Framework Service Pack 2
  • Microsoft SQL Server 2000 Standard Edition
キーワード:?
kbnosurvey kbarchive kbbug kbcomservices kberrmsg kbfix kbperformance kbscalability KB318000
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com