WebClass (Visual Basic 6.0 ユーザー向け)
更新 : 2007 年 11 月
Visual Basic 2008 における ASP.NET Web サイトのプログラミングの概念と方法は、ほとんどの部分に関して、Visual Basic 6.0 で Web クラスを作成する概念と方法とは大きく異なります。
概念の違い
Visual Basic 6.0 では、WebClass プロジェクト (IIS アプリケーション プロジェクトとも呼ばれます) を使用して、ASP ページ テクノロジに基づく Web アプリケーションを作成します。
Visual Basic 2008 では、ASP.NET Web サイト プロジェクトを使用して、最新の ASP.NET テクノロジに基づく Web アプリケーションを作成します。
状態管理
Visual Basic 6.0 では、WebClass プロジェクトの StateManagement プロパティを使用して、要求間で Web クラスのインスタンスを保持できます。これを行うには、デザイン時に StateManagement プロパティを 2 または wcRetainInstance に設定します。また、ReleaseInstance メソッドを使用してインスタンスを終了することもできます。
Visual Basic 2008 では、ASP.NET Web アプリケーションには StateManagement プロパティはありません。アプリケーション状態を管理するモデルは大きく異なり、状態管理に関係するコードを置き換える必要があります。詳細については、「ASP.NET の状態管理」を参照してください。
アップグレード メモ
Visual Basic 6.0 の WebClass プロジェクトを Visual Basic 2008 にアップグレードすると、ASP.NET Web サイト プロジェクトに変換されます。
プロジェクトには、WebClass に 1 つ、WebClass プロジェクトの WebItems と Templates にそれぞれ 1 つ宣言が追加されます。プロジェクトには Page_Load イベント プロシージャが追加され、まず WebClass オブジェクトが作成されます。次に、Visual Basic 6.0 の WebClass プロジェクトに関連付けられている WebItems と Templates のそれぞれについて WebItem オブジェクトが作成されます。最後に、Page_Load イベント プロシージャに、WebClass 互換性ランタイム (WebClass.ProcessEvents) への呼び出しが追加されます。これにより、要求 URL で指定された WebItem が、ランタイムによって表示されます。このコードは、アップグレードされたプロジェクトに新しく追加される唯一のコードであり、Visual Basic 6.0 の WebClass ランタイムの基底の動作をエミュレートするだけです。
Visual Basic 6.0 のコードの Function プロシージャと Sub プロシージャ (ProcessTags や Respond など) は、WebClass 互換性ランタイムがこれらのプロシージャを実行できるように、スコープが Private から Public に変更されています。
Visual Basic 6.0 の WebClass イベントの中には、ASP.NET でサポートされていないイベントがあります。たとえば、Initialize、BeginRequest、EndRequest、Terminate などです。これらのイベント プロシージャは、アップグレードはされるものの、実行時に呼び出されることはありません。アップグレードした後で、これらのイベントのコードを、対応する ASP.NET イベントに移動する必要があります。
メモ : |
---|
ASP オブジェクトと ASP.NET オブジェクトでは、動作の異なるプロパティ、メソッド、およびイベントがいくつかあります。WebClass を ASP.NET にアップグレードする前に、そうした動作の違いについて把握し、コードをどのように修正する必要があるかを判断できるようにしておく必要があります。 |
参照
概念
Visual Basic 2005 への WebClass プロジェクトのアップグレード