ASPコードをコンポーネントに変えることは、ASPをスピードアップするだけでなく、独自のコードをよりよく保護することです。 DLLにASPを作成するためのチュートリアルを書きましょう。エラーの編集者をフォローしてみましょう。
サーバー側のコンポーネント
まず、サーバー側のコンポーネントは、クライアント側のコンポーネントとは異なる必要があります。クライアント側のコンポーネントはネットワークを介して送信され、HTMLに依存して動作します。 IEでのみ役立ちます。ただし、サーバー側のコンポーネントはサーバーで実行され、サーバーでさまざまな操作を実行します。したがって、すべてのブラウザはそれを楽しむことができ、ブラウザではなくサーバーに依存しています。
IISがASPプログラムを実行するように要求されると、最初にASPファイルの<%%>タグの間のコードを見つけて実行します(または<Script runat = server> </scrip>の間のコード)。このASPプログラムが以前に呼び出された場合、メモリ内のコンパイルされたプログラムを使用して、HTMLコードをユーザーに返します。そうでない場合は、再コンパイルされます。ここでは、CGIが各リクエストにスレッドを使用するため、ASPはCGIよりも少し速度の優位性があります。これにより、サーバーのリソースが大幅に消費されます。
あなたが書いたプログラムが自分でIISで実行するようにしたいですか!?!今、あなたはそれをすることができます! VB5を使用して(もちろんVB6は現在VB6です)、IISで直接実行できる動的リンクライブラリ(DLLファイル)を作成できます(リクエストするASPファイルがある場合)。
システムとソフトウェアの要件
ASPを実行するには、32ビットオペレーティングシステムが必要です。もちろん、IISまたはPWSもインストールする必要があります。次のプログラムは、Windows95+PWS+VB5環境で開発されました。
始めましょう
VBを起動し、ActiveXアイコンを選択します。このアイコンは新しいプロジェクトにあります! VBは、デフォルトのプロジェクト名(Project1)とクラス名(クラス1)を提供します。両方の名前を変更します。名前を変更する前に、まず、Microsoft Active Server Pages Object Libraryがあることを確認してください。これは、プログラムで非常に役立ちます。メニューから「プロジェクト」を選択し、その中に「参照」を選択すると、[参照]ウィンドウが表示されます。
Microsoft Active Serverページオブジェクトライブラリを選択します。
名前のプロジェクトとクラス
それでは、私たちの趣味に応じて、project1とclass1に名前を付けてみましょう!それらの名前も非常に重要です。このプロジェクト名とクラス名を使用して、将来このコンポーネントのインスタンスを作成します!これは後で詳細に紹介されます。
名前を変更する方法について詳しく言いたくありません!
私たちのプロジェクト名は例に変更され、クラス名はhellowordです
エンジニアリングとクラスの使用方法
これで、独自のプロジェクト(Example1)とクラス名(Helloworld)があります。将来的には、名前を使用してASPコードのこのコンポーネントを参照します。 ASPでは、次のようにこのように参照します。
objreference = server.createobject( "projectname.classname")を設定します
私たちのプロジェクトの引用は次のとおりです。
objreference = server.createObject( "Example1.helloworld")を設定します
これで、ObjReferenceを使用して、コンポーネントに作成した関数とサブルーチンを呼び出すことができます。次に、Sayhello Subroutineを書き、それを実行するためのコードは次のとおりです。
(%
objreference = server.createObject( "Example1.helloworld")を設定します
objreference.sayhello
%>
HellowordクラスでASPメソッドを使用するには、このクラスにonstartPageを書く必要があります
サブ機能。次のように:
Public Sub onstartPage(ScriptingContextとしてのpassedscriptingContext)
myscriptingContext = passedScriptingContextを設定します
End Sub
これで、ユーザーがこのコンポーネントを使用してASPファイルにアクセスする時期に関係なく、IISはScriptingContextをオブジェクトに送信します。このScriptingContextには、すべてのASPメソッドとプロパティが含まれています。実装の観点から、これにより、すべてのASPオブジェクトにアクセスできます。次のコードを参照してください。
Public Sub onstartPage(ScriptingContextとしてのpassedscriptingContext)
myscriptingContext = passedScriptingContextを設定します
myApplication = myscriptingContext.Applicationを設定します
myRequest = myscriptingContext.Requestを設定します
myResponse = myscriptingcontext.responseを設定します
myServer = myscriptingContext.serverを設定します
mySession = myscriptingcontext.sessionを設定します
End Sub
将来的には、ASPのアプリケーションではなくVBでmyApplicationを使用することができます。同じように、リクエスト、サーバー...を置き換えることができますが、startpageの前にこれらの変数を宣言したいと思います。
ScriptingContextとしてのプライベートMyScriptingContext
アプリケーションとしてのプライベートMyApplication
リクエストとしてのプライベートMyRequest
応答としてのプライベートMyResponse
サーバーとしてのプライベートマイザーバー
セッションとしてのプライベートマイセッション
ASPを使用したオブジェクト
変数は、標準のASPオブジェクトのように使用できるようになりました!たとえば、フォームを送信するためにデータを収集するASPでrequest.form()を使用します。次に、この関数をVBに実装します。コードは次のとおりです。
ASPで実装:
(%
mytempvariable = request.form( "username")
respons.write( "you exped"&mytempvariable& "as your user name")
%>
VBで実装:
mytempvariable = myrequest.form( "username")
myResponse.write( "you exped"&mytempvariable& "as your user name")
応答の代わりにmyResponseを使用することにより、すべての応答方法を使用できます。もちろん、myResponseという名前はさりげなく使用でき、応答を選択することもできます。
もう1つ注意しなければならないことは、作成したクラスにonendPageサブ機能を記述する必要があるということです。これは逆です! OnStartPageはオブジェクトを作成することであり、OnEndPageはオブジェクトを破壊することです。
public sub onendpage()
myscriptingContext = Nothingを設定します
myApplication = Nothingを設定します
myRequest = Nothingを設定します
myResponse = Nothingを設定します
MyServer = Nothingを設定します
MySession = Nothingを設定します
End Sub
Sayhelloメソッド
「ホールワールド」を表示するサブ機能を作成しましょう。このSayhelloメソッドは、Helloworldクラスのサブ機能です。次の方法を使用して、将来ASPで表示します
(%
objreference = server.createObject( "Example1.helloworld")を設定します
objreference.sayhello
%>
Sayhelloのプログラムはとても簡単です!
public sub sayhello()
myResponse.write( "HelloWorld")
End Sub
小さなコンポーネントが書かれているため、残りはこのコンポーネントをコンパイルし、「プロジェクト」メニューに保存して、任意の名前を選択できます。 Example1.vbpを使用しましょう!次に、メニューで[Example1.dllを作成]を選択し、DLLファイルにコンパイルします。コンポーネントが本当に完成しました!
このコンポーネントをコンパイルする場合、最初にPWSをオフにしてから、このコンポーネントをコンパイルする必要があることに注意してください。それ以外の場合、VBは一部のコンポーネントが使用されていることを教えてくれます。
ASPで独自のコンポーネントを使用してください。
コンピレーションのエラーを修正し、Example1プロジェクトを正常にコンパイルする場合、お気に入りのHTMLエディターを取り出して、次のステートメントを書き留めてASPファイルとして保存する必要があります。
<html>
<head>
<タイトル>例1 </title>
</head>
<ボディ>
(%
objreference = server.createObject( "Example1.helloworld")を設定します
objreference.sayhello
%>
</body>
</html>
実行後、結果を確認できます。
こんにちは世界
コンポーネントを登録します
コンポーネントを友人や隣人と共有したい場合は、システムにコンポーネントを登録する必要があります。通常、regsvr32.exeを使用してコンポーネントを登録します。登録後、コンポーネントはwin95/win98のWindows/システムディレクトリに表示されます。登録の例は次のとおりです。
regsvr32.exe C:/example1/example1.dll
あなたのシステムでは、VBが自動的に登録するので、regsvr32.exeを使用することはめったにありません
ここに非常に小さなコンポーネントを書きました。独自の大きなコンポーネントを作成し、VBで多くのコントロールを使用できます。
ASPがDLLを作成するための鍵は、DLLコンポーネントを開発する方法を知ることです。 DLLコンポーネントの開発は複雑なコードではなく、独自の努力を通じて学習する必要があります。