ASP 코드를 구성 요소로 바꾸는 것은 ASP 속도를 높일뿐만 아니라 자신의 코드를 더 잘 보호하는 것입니다. DLL에 ASP를 작성하는 것에 대한 자습서를 작성해 봅시다. Error New의 편집자를 따라합시다.
서버 측 구성 요소
우선, 서버 측의 구성 요소는 클라이언트 측의 구성 요소와 달라야합니다. 클라이언트 측의 구성 요소는 네트워크를 통해 전송되며 HTML에 의존하여 작동합니다. 그들은 IE에서만 유용 할 수 있습니다. 그러나 서버의 구성 요소는 서버에서 실행되며 서버에서 다양한 작업을 수행합니다. 따라서 모든 브라우저는이를 즐길 수 있으며 브라우저가 아닌 서버에 의존합니다.
IIS가 ASP 프로그램을 실행하도록 요청되면 먼저 ASP 파일에서 < % %> 태그 사이의 코드를 찾아서 실행합니다 (또는 <script runat = server> </script> 사이의 코드). 이 ASP 프로그램이 이전에 호출 된 경우 메모리에서 컴파일 된 프로그램을 사용하여 HTML 코드를 사용자에게 반환합니다. 그렇지 않다면 다시 컴파일됩니다. CGI는 각 요청마다 스레드를 사용하기 때문에 ASP는 CGI보다 속도 이점이 약간 더 높습니다. 이것은 서버의 리소스를 크게 소비합니다.
당신은 당신이 쓴 프로그램이 혼자서 실행되기를 원합니까!?! 이제 할 수 있습니다! VB5를 사용하면 (현재 VB6입니다) IIS에서 직접 실행할 수있는 동적 링크 라이브러리 (DLL 파일)를 만들 수 있습니다 (요청할 ASP 파일이있는 경우).
시스템 및 소프트웨어 요구 사항
ASP를 실행하려면 32 비트 운영 체제가 필요합니다. 물론 IIS 또는 PW를 설치해야합니다. 다음 프로그램은 Windows95+PWS+VB5 환경에서 개발되었습니다.
시작합시다
VB를 시작하고 ActiveX 아이콘을 선택하십시오. 이 아이콘은 새로운 프로젝트에서 찾을 수 있습니다! VB는 기본 프로젝트 이름 (Project1) 및 클래스 이름 (클래스 1)을 제공합니다. 우리는 두 이름을 모두 변경할 것입니다. 이름을 변경하기 전에 먼저 프로그램에 매우 유용한 Microsoft Active Server Pages 객체 라이브러리가 있는지 확인하십시오. 메뉴에서 "프로젝트"를 선택하고 그 안에 "참조"를 선택하면 "참조"창이 나타납니다.
Microsoft Active Server Pages 객체 라이브러리를 선택하십시오.
이름 프로젝트와 수업
이제 우리의 취미에 따라 Project1과 Class1을 지명하겠습니다! 그것들을 명명하는 것도 매우 중요합니다. 우리는이 프로젝트 이름과 클래스 이름을 사용하여 향후이 구성 요소의 인스턴스를 만들 것입니다! 이것은 나중에 자세히 소개됩니다.
이름을 바꾸는 방법에 대해 더 말하고 싶지 않습니다!
우리의 프로젝트 이름은 예제로 변경되고 클래스 이름은 Helloword입니다.
엔지니어링 및 수업을 사용하는 방법
이제 우리는 우리 자신의 프로젝트 (예제 1)와 클래스 이름 (HelloWorld)이 있습니다. 앞으로 우리는 그들의 이름을 사용 하여이 구성 요소를 ASP 코드에서 참조 할 것입니다. ASP에서는 다음과 같이 이와 같이 참조 할 것입니다.
set objreference = server.createObject ( "projectname.className")
프로젝트의 인용문은 다음과 같습니다.
set objreference = server.createObject ( "example1.helloworld")
이제 우리는 objreference를 사용하여 구성 요소에서 만든 기능과 서브 루틴을 호출 할 수 있습니다. 다음으로, 우리는 Sayhello Subroutine을 작성할 것이며,이를 실행하기위한 코드는 다음과 같습니다.
(%
set objreference = server.createObject ( "example1.helloworld")
objreference.sayhello
%>
Helloword 클래스에서 ASP 메소드를 사용하려면이 클래스에서 onstartPage를 작성해야합니다.
하위 기능. 다음과 같이 :
public sub onstartPage (scriptingContext로 passedScriptContext)
myscriptingcontext = passedScriptTontext를 설정합니다
종료 서브
이제 사용자 가이 구성 요소로 ASP 파일에 액세스 할 때 IIS는 ScriptingContext를 객체로 보냅니다. 이 ScriptingContext에는 모든 ASP 방법 및 속성이 포함됩니다. 구현 측면에서,이를 통해 모든 ASP 객체에 액세스 할 수 있습니다. 다음 코드를 참조하십시오.
public sub onstartPage (scriptingContext로 passedScriptContext)
myscriptingcontext = passedScriptTontext를 설정합니다
myApplication = myscriptingContext.Application을 설정합니다
myRequest = myScriptingContext.Request를 설정합니다
set myresponse = myscriptingcontext.response를 설정합니다
myserver = myscriptingcontext.server를 설정합니다
mysession = myscriptingcontext.session을 설정합니다
종료 서브
앞으로 ASP의 응용 프로그램 대신 VB에서 myApplication을 사용할 수 있으며 같은 방식으로 요청, 서버 ...을 대체 할 수 있지만 onstartPage 전에 이러한 변수를 선언하려고합니다.
ScriptingContext로 개인 MyScriptContext
응용 프로그램으로서 개인 myApplication
요청으로 개인 MyRequest
응답으로서의 개인 비응
서버로서 개인 마이 서버
세션으로 개인 마이 세션
ASP를 사용하는 객체
우리의 변수는 이제 표준 ASP 객체처럼 사용할 수 있습니다! 예를 들어, 우리는 종종 ASP에서 request.form ()을 사용하여 양식을 제출하기위한 데이터를 수집합니다. 이제 우리는 VB 에서이 기능을 구현하고 코드는 다음과 같습니다.
ASP에서 구현 :
(%
myTempVariable = request.form ( "사용자 이름")
response.write ( "귀하의 입력"& MyTempVariable & "사용자 이름으로"))))
%>
VB에서 구현 :
myTempVariable = myRequest.form ( "사용자 이름")
myresponse.write ( "당신의 입력"& mytempvariable & "사용자 이름으로")
응답 대신 MyResponse를 사용하면 모든 응답 방법을 사용할 수 있습니다. 물론 Myresponse라는 이름은 우연히 사용할 수 있으며 응답을 선택할 수도 있습니다.
우리가 주목해야 할 또 다른 것은 우리가 만든 클래스에서 OnendPage 하위 기능을 작성해야한다는 것입니다.이 onstartPage는 그 반대입니다! OnstartPage는 객체를 만드는 것이며 OnEndPage는 객체를 파괴하는 것입니다.
공개 서브 onendPage ()
myscriptingcontext = 아무것도 설정하지 않습니다
myApplication = 아무것도 설정하지 않습니다
myRequest = 아무것도 설정하지 않습니다
Myresponse = 아무것도 설정하지 않습니다
myserver = 아무것도 설정하지 않습니다
mysession = 아무것도 설정하지 않습니다
종료 서브
Sayhello 방법
"Holle World"를 표시하기 위해 하위 기능을 만들어 봅시다. 이 Sayhello 방법은 Helloworld 클래스에서 하위 기능 일뿐입니다. 다음 방법을 사용하여 향후 ASP에 표시 할 것입니다.
(%
set objreference = server.createObject ( "example1.helloworld")
objreference.sayhello
%>
Sayhello의 프로그램은 매우 간단합니다!
공개 서브 SayHello ()
myresponse.write ( "Hello World")
종료 서브
작은 구성 요소가 작성되었으므로 나머지는이 구성 요소를 컴파일하고 "프로젝트"메뉴에 저장하면 이름을 선택할 수 있습니다. example1.vbp를 사용합시다! 그런 다음 메뉴에서 "example1.dll"을 선택하고 DLL 파일로 컴파일하십시오. 구성 요소가 실제로 완료되었습니다!
이 구성 요소를 컴파일하면 먼저 PW를 끄고이 구성 요소를 컴파일해야합니다. 그렇지 않으면 VB는 일부 구성 요소가 사용되고 있음을 알려줍니다.
ASP에서 우리 자신의 구성 요소를 사용하십시오.
컴파일 오류를 수정하고 Example1 프로젝트를 성공적으로 컴파일하면 좋아하는 HTML 편집기를 꺼내 다음 다음 진술을 적어 ASP 파일로 저장해야합니다.
<html>
–Head>
<제목> 예제 1 </title>
〈/head>
<차체>
(%
set objreference = server.createObject ( "example1.helloworld")
objreference.sayhello
%>
</body>
</html>
실행 후 결과를 볼 수 있습니다.
안녕하세요 세계
구성 요소를 등록하십시오
구성 요소를 친구 및 이웃과 공유하려면 시스템에 구성 요소를 등록해야합니다. 우리는 일반적으로 regsvr32.exe를 사용하여 구성 요소를 등록합니다. 등록 후 구성 요소는 Win95/Win98의 Windows/System 디렉토리에 나타납니다. 등록의 예는 다음과 같습니다.
regsvr32.exe c : /example1/example1.dll
귀하의 시스템에서 VB는 자동으로 귀하를 등록하므로 Regsvr32.exe를 거의 사용하지 않습니다.
우리는 방금 여기에 아주 작은 구성 요소를 썼습니다. 자신의 더 큰 구성 요소를 작성하고 VB에서 많은 컨트롤을 사용할 수 있습니다.
ASP로 DLL을 작성하는 열쇠는 DLL 구성 요소를 개발하는 방법을 아는 것입니다. DLL 구성 요소 개발은 복잡한 코드가 아니며 자신의 노력을 통해 학습해야합니다.