다음으로, 우리는 매우 간단한 컴포넌트를 작성할 것입니다. 복잡한 코드보다는 DLL 컴포넌트를 개발하는 방법을 아는 데 중점을 둘 것입니다. 이 모든 것은 앞으로의 작은 컴포넌트 작성에 달려 있습니다.
이 기사는 주로 ASP 수준을 향상시키려는 사람들을 위해 작성되었습니다! ASP 코드를 구성 요소로 전환함으로써 개발자는 ASP 속도를 높일 뿐만 아니라 자신의 코드도 보호할 수 있습니다. 컴포넌트 개발을 원하시는 분!
다음으로, 복잡한 코드보다는 DLL 구성 요소를 개발하는 방법을 아는 데 중점을 두고 매우 간단한 구성 요소를 작성할 것입니다. 이 모든 것은 향후 사용자의 노력에 달려 있습니다.
서버측 구성요소
우선, 서버 측 구성 요소는 클라이언트 측 구성 요소와 달라야 합니다. 클라이언트 측 구성 요소는 HTML을 통해 작동하며 IE에서만 사용할 수 있습니다. 다양한 작업이 서버 측에서 실행되므로 모든 브라우저에서 즐길 수 있으며 브라우저가 아닌 서버에 의존합니다.
IIS가 ASP 프로그램 실행을 요청하면 먼저 ASP 파일의 태그 사이에 있는 코드를 찾아서 실행합니다. (이는 ASP 프로그램이 이전에 호출된 경우에도 가능합니다.) HTML 코드를 사용자에게 반환하기 위해 메모리에 컴파일된 프로그램입니다. 여기서 ASP는 각 요청에 대해 스레드를 사용하기 때문에 CGI에 비해 약간의 속도 이점이 있습니다.
여러분이 작성한 프로그램이 IIS에서 실행될 수 있다고 생각한 적이 있습니까?! 지금 가능합니다! VB5(물론 현재는 VB6)를 사용하여 IIS에서 직접 실행할 수 있는 동적 연결 라이브러리(DLL 파일)를 만들 수 있습니다. 요청할 ASP 파일이 있습니다).
시스템 및 소프트웨어 요구 사항
ASP를 실행하려면 32비트 운영 체제가 필요합니다. 물론 IIS나 PWS도 설치해야 합니다. 우리의 다음 프로그램은 windows95+PWS+VB5 환경에서 개발되었습니다.
시작하자
VB를 시작하고 ActiveX 아이콘을 선택하세요. 이 아이콘은 새 프로젝트에서 찾을 수 있습니다. VB는 기본 프로젝트 이름(project1)과 클래스 이름(class1)을 모두 변경하기 전에 먼저 확인하세요. 우리 프로그램에 매우 유용한 Microsoft Active Server Pages 개체 라이브러리가 있습니다. 메뉴에서 프로젝트를 선택한 다음 참조를 선택하면 참조 창이 나타나고 Microsoft Active Server Pages 개체 라이브러리를 선택합니다.
프로젝트 및 수업 이름 지정
이제 자신의 취미에 맞게 project1과 class1의 이름을 지정해 보겠습니다. 이 프로젝트 이름과 클래스 이름을 사용하여 나중에 이 구성 요소의 인스턴스를 만들겠습니다.
이름을 바꾸는 방법에 대해 더 이상 말하고 싶지 않습니다!
프로젝트 이름은 Exmaple로 변경되었고, 클래스 이름은 Helloword였습니다.
프로젝트 및 클래스 사용 방법
이제 우리는 자체 프로젝트(예제 1)와 클래스 이름(HelloWorld)을 갖게 되었습니다. 앞으로 ASP 코드에서 해당 이름을 사용하여 ASP에서 다음과 같이 참조할 것입니다.
ObjReference = Server.CreateObject(ProjectName.ClassName) 설정
우리 프로젝트에 대한 참조는 다음과 같습니다.
ObjReference = Server.CreateObject(Example1.HelloWorld) 설정
이제 ObjReference를 사용하여 구성 요소에서 생성한 함수와 서브루틴을 호출할 수 있습니다. 다음으로 이를 실행하는 코드는 다음과 같습니다.
Helloword 클래스에서 ASP 메서드를 사용하려면 이 클래스에 OnStartPage를 작성해야 합니다.
하위 기능은 다음과 같습니다.
공개 하위 OnStartPage(passedscriptingContext As scriptingContext)
MyscriptingContext = PassedscriptingContext 설정
서브 끝
이제 사용자가 이 구성 요소를 사용하여 ASP 파일에 액세스할 때마다 IIS는 우리가 사용할 개체에 scriptingContext를 전달합니다. 이 scriptingContext에는 구현적으로 모든 ASP 개체에 액세스할 수 있는 기능이 제공됩니다. 다음 코드:
다음과 같이 코드 코드를 복사합니다.
공개 하위 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 전에 다음 변수를 선언해야 합니다.
다음과 같이 코드 코드를 복사합니다.
개인 MyscriptingContext scriptingContext로
비공개 MyApplication을 애플리케이션으로
개인 MyRequest를 요청으로
비공개 MyResponse를 응답으로
개인 MyServer를 서버로 사용
비공개 MySession을 세션으로 사용
ASP를 사용하는 개체
이제 변수를 표준 ASP 객체처럼 사용할 수 있습니다. 예를 들어, 제출된 양식에 대한 데이터를 수집하기 위해 ASP에서 Request.form()을 자주 사용합니다. 이제 VB에서 이 함수를 구현합니다. 코드는 다음과 같습니다.
ASP에서 구현:
VB에서 구현:
다음과 같이 코드 코드를 복사합니다.
MyTempVariable = MyRequest.Form(사용자 이름)
MyResponse.Write(사용자 이름으로 & MyTempVariable &를 입력함)
Response 대신 MyResponse를 사용하면 모든 Response 메서드를 사용할 수 있습니다. 물론 MyResponse라는 이름은 원하는 대로 지정할 수 있으며 Response만 사용할 수도 있습니다.
우리가 주의해야 할 또 다른 점은 우리가 만든 클래스에 OnEndPage 하위 함수를 작성해야 한다는 것입니다. 이 OnStartPage는 반대입니다! OnStartPage는 개체를 생성하고 OnEndPage는 개체를 파괴합니다.
다음과 같이 코드 코드를 복사합니다.
공개 서브 OnEndPage()
MyscriptingContext = 없음 설정
MyApplication = 없음으로 설정
MyRequest = 없음으로 설정
MyResponse = 없음으로 설정
MyServer = 없음 설정
MySession = 없음 설정
서브 끝
SayHello 메서드
Holle World를 표시하는 하위 함수를 만들어 보겠습니다. 이 SayHello 메서드는 나중에 ASP에서 이 메서드를 표시하기 위해 다음 메서드를 사용합니다.
SayHello 프로그램은 매우 간단합니다!
다음과 같이 코드 코드를 복사합니다.
공개 서브 SayHello()
MyResponse.Write(Hello World)
서브 끝
이제 작은 컴포넌트가 작성되었으므로, 남은 작업은 컴포넌트를 컴파일하고 프로젝트 메뉴에 저장하는 것입니다. 원하는 이름을 지정할 수 있습니다. 그런 다음 메뉴에서 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에서 많은 컨트롤을 사용할 수도 있습니다.
우리 프로그램의 기능을 확장하기 위해 컴포넌트를 사용합시다. 또한 우리 중국 사람들에게서 더 많은 컴포넌트를 볼 수 있기를 바랍니다.