次に、非常に単純なコンポーネントを作成します。焦点は、複雑なコードではなく、DLL コンポーネントの開発方法を理解することです。これらはすべて、将来の自分の努力にかかっています。(コンポーネントの概要)
この記事は、主に ASP のレベルを向上させたい人向けに書かれています。ASP コードをコンポーネントに変換することで、開発者は ASP を高速化するだけでなく、自分のコードを保護することもできます。コンポーネント開発をしたい方!
次に、非常に単純なコンポーネントを作成します。焦点は、複雑なコードではなく、DLL コンポーネントの開発方法を理解することです。これらはすべて、将来の自分の努力にかかっています。
サーバー側コンポーネント
まず、サーバー側コンポーネントはクライアント側コンポーネントとは異なる必要があります。クライアント側コンポーネントはネットワーク経由で送信され、HTML に依存して機能します。ただし、サーバー側コンポーネントは IE 上でのみ実行できます。サーバー側で行われ、サーバー上でさまざまな操作が実行されるため、すべてのブラウザーで楽しむことができ、ブラウザーではなくサーバーに依存します。
IIS が ASP プログラムの実行を要求されると、まず ASP ファイル内のタグ間のコードを見つけて実行します (ASP プログラムが以前に呼び出されている場合は、タグ間のコードである場合もあります)。そうでない場合は、CGI がリクエストごとにスレッドを使用するため、ASP は再コンパイルされます。これは、サーバーのリソースを大量に消費するためです。
自分が書いたプログラムが IIS 上で実行できると思ったことはありませんか?! VB5 (もちろん今は VB6) を使用して、IIS 上で直接実行できるダイナミック リンク ライブラリ (DLL ファイル) を作成できます。リクエストするASPファイルがあります)。
システムとソフトウェアの要件
ASP を実行するには、もちろん、IIS または PWS もインストールする必要があります。以下のプログラムは Windows95+PWS+VB5 環境で開発されました。
始めましょう
VB を起動し、ActiveX アイコンを選択します。このアイコンは、VB でデフォルトのプロジェクト名 (project1) とクラス名 (class1) を提供します。名前を変更する前に、最初に確認してください。 Microsoft Active Server Pages Object Library があることを確認します。これはプログラムで非常に便利です。メニューから [Project] を選択し、[References] を選択します。参照ウィンドウが表示されるので、[Microsoft Active Server Pages Object Library] を選択します。
プロジェクトとクラスに名前を付ける
ここで、自分の趣味に従って project1 と class1 に名前を付けましょう。これらの名前を付けることも非常に重要です。このプロジェクト名とクラス名は、後でこのコンポーネントのインスタンスを作成するときに使用します。
名前の変更方法についてはこれ以上言いません。
プロジェクト名は Exmaple に変更され、クラス名は Helloword になりました。
プロジェクトとクラスの使用方法
これで、独自のプロジェクト (Example1) とクラス名 (HelloWorld) ができました。今後、ASP コードでこのコンポーネントを参照するために、これらの名前を使用します。
ObjReference = Server.CreateObject(ProjectName.ClassName) を設定します。
私たちのプロジェクトへの参照は次のとおりです。
ObjReference = Server.CreateObject(Example1.HelloWorld) を設定します
これで、ObjReference を使用して、コンポーネント内に作成した関数とサブルーチンを呼び出すことができます。次に、それを実行するためのコードを次のように記述します。
Helloword クラスで ASP メソッドを使用するには、このクラスに OnStartPage を記述する必要があります。
サブ機能は次のとおりです。
Public Sub OnStartPage(PassedscriptingContext As scriptingContext)
MyscriptingContext = PassedscriptingContext を設定します
エンドサブ
これで、ユーザーがこのコンポーネントを使用して ASP ファイルにアクセスするたびに、IIS は scriptingContext をオブジェクトに渡して使用できるようになります。これにより、実装上、すべての ASP オブジェクトにアクセスできるようになります。次のコード:
次のようにコードをコピーします。
Public Sub OnStartPage(PassedscriptingContext As scriptingContext)
MyscriptingContext = PassedscriptingContext を設定します
MyApplication = MyscriptingContext.Application を設定します。
MyRequest = MyscriptingContext.Request を設定します。
MyResponse = MyscriptingContext.Response を設定します
MyServer = MyscriptingContext.Server を設定します
MySession = MyscriptingContext.Session を設定します
エンドサブ
将来的には、VB の MyApplication を使用して ASP の Application を置き換えることができます。同様に、Request、Server... も置き換えることができますが、これらの変数は OnStartPage の前に宣言する必要があります。
次のようにコードをコピーします。
scriptingContext としてのプライベート MyscriptingContext
アプリケーションとしてのプライベート MyApplication
リクエストとしてのプライベート MyRequest
応答としてのプライベート MyResponse
サーバーとしてのプライベート MyServer
セッションとしてのプライベート MySession
ASPを使用したオブジェクト
変数は標準の ASP オブジェクトのように使用できるようになりました。たとえば、送信されたフォームのデータを収集するために ASP で Request.form() をよく使用します。コードは次のとおりです。
ASP での実装:
VB で実装:
次のようにコードをコピーします。
MyTempVariable = MyRequest.Form(ユーザー名)
MyResponse.Write (ユーザー名として & MyTempVariable & を入力しました)
Response の代わりに MyResponse を使用すると、すべての Response メソッドを使用できるようになります。もちろん、MyResponse という名前は任意の名前にすることができ、単に Response を使用することもできます。
もう 1 つ注意しなければならないのは、作成したクラスに OnEndPage サブ関数を記述する必要があることです。この OnStartPage はオブジェクトを作成し、OnEndPage はオブジェクトを破棄します。
次のようにコードをコピーします。
Public Sub OnEndPage()
MyscriptingContext = なしを設定します
MyApplication = なしを設定します
MyRequest = なしを設定します
MyResponse = なしを設定します
MyServer = 何も設定しない
MySession = なしを設定します
エンドサブ
SayHello メソッド
Holle World を表示するサブ関数を作成しましょう。この SayHello メソッドは HelloWorld クラスのサブ関数です。今後、このメソッドを ASP で表示するには次のメソッドを使用します。
SayHello プログラムは非常にシンプルです。
次のようにコードをコピーします。
パブリックサブSayHello()
MyResponse.Write(Hello World)
エンドサブ
小さなコンポーネントが作成されたので、残りの作業はコンポーネントをコンパイルしてプロジェクト メニューに保存することです。Exmaple1.vbp を使用してみましょう。次に、メニューで make exmaple1.dll を選択します。 DLL ファイルにコンパイルされ、コンポーネントが完成します。
このコンポーネントをコンパイルした後、まず PWS をオフにしてからこのコンポーネントをコンパイルする必要があることに注意してください。そうしないと、VB によっていくつかのコンポーネントが使用中であることが通知されます。
ASP で独自のコンポーネントを使用します。
コンパイルのエラーを修正し、example1 プロジェクトを正常にコンパイルしたら、お気に入りの HTML エディターを使用して次のステートメントを作成し、ASP ファイルとして保存する必要があります。
実行後の結果を確認できます。
こんにちは世界
レジスタコンポーネント
コンポーネントを友人や隣人と共有したい場合は、通常、Regsvr32.exe を使用してコンポーネントを登録する必要があります。登録後、コンポーネントは Windows/システムの Win95/Win98 に表示されます。ディレクトリの登録例は次のとおりです。
Regsvr32.exe C:/wwwroot/Example1/Example1.dll
システムでは VB が自動的に登録するため、Regsvr32.exe を使用することはほとんどありません。
ここでは非常に小さなコンポーネントを作成しただけです。独自のより大きなコンポーネントを作成することもできますし、VB で多くのコントロールを使用することもできます。
コンポーネントを使用してプログラムの機能を拡張しましょう。また、私たち中国人のコンポーネントが増えることを期待しています。