ASP から ASP.NET に移行するときのパフォーマンスの問題

更新 : 2007 年 11 月

ASP アプリケーションを ASP.NET に移行する場合は、次の項目に関連したパフォーマンス上の問題が発生し得ることを認識しておく必要があります。

  • **アンマネージ コードの呼び出し   **マネージ コードでアンマネージ コンポーネントを呼び出す場合、マーシャリングが必要となり、パフォーマンスに大きく影響する可能性があります。最高のパフォーマンスを得るためには、ランタイムと互換性のある言語を使用して COM コンポーネントをマネージ コードに書き直す必要があります。書き直しできない場合は、マネージ コードとアンマネージ コードの間の境界を越える呼び出しの数を減らして、呼び出しの間にコードにより多くの処理を行わせるようにします。詳細については、「アンマネージ コードとの相互運用」を参照してください。

  • 遅延バインディング   ASP では、次の例で示すように CreateObject メソッドを使用して、中間型のオブジェクトを作成していました。

    SampleObject = Server.CreateObject("ProgId")
    

    この種の宣言は ASP.NET でも使用できますが、最高のパフォーマンスを得るために、オブジェクトの型を作成時に宣言するようにしてください。

    Dim SampleObject As New ObjectType()
    ' or
    ' Dim SampleObject As ObjectType = New ObjectType()
    
    ObjectType SampleObject = new ObjectType();
    

    事前バインディングした COM オブジェクトを宣言する前にそのページに型をインポートするために、Tlbimp.exe ユーティリティを使用する必要があります。

参照

概念

COM コンポーネントの互換性

その他の技術情報

高パフォーマンス ASP.NET アプリケーションの開発

アンマネージ コードとの相互運用