어떻게 ASP 를 DLL 로 작성 합 니까? 선택 하 다 AppleBBS 의 Blog 키워드 어떻게 ASP 를 DLL 로 작성 합 니까? 출처 이 글 은 주로 ASP 코드 를 구성 요소 로 만 듭 니 다.개발 자 는 ASP 의 속 도 를 빠르게 할 뿐만 아니 라 자신의 코드 도 보호 할 수 있 습 니 다.다음은 복잡 한 코드 가 아 닌 DLL 구성 요 소 를 어떻게 개발 하 는 지 에 중점 을 두 고 아주 간단 한 구성 요 소 를 만 들 것 입 니 다!이 모든 것 은 앞으로 의 노력 에 달 려 있 습 니 다.서버 엔 드 구성 요 소 는 우선 서버 엔 드 구성 요 소 는 클 라 이언 트 와 다른 구성 요소 가 있어 야 합 니 다.클 라 이언 트 구성 요 소 는 네트워크 를 통 해 전송 되 고 HTML 에 의 해 작 동 합 니 다.또한 IE 에 만 유용 합 니 다.그러나 서버 엔 드 구성 요 소 는 서버 엔 드 에서 실행 되 며 서버 에 서 는 다양한 작업 을 수행 합 니 다.따라서 모든 브 라 우 저 를 사용 할 수 있 습 니 다.브 라 우 저 대신 서버 에 의존 합 니 다.IIS 가 ASP 프로그램 을 실행 하 라 는 요청 을 받 으 면 먼저 ASP 파일 에서 찾 을 수 있 습 니 다. <%%>탭 사이 의 코드 를 실행 하고(
사이 의 코드).만약 이 ASP 프로그램 이 이전에 호출 되 었 다 면,메모리 에 있 는 컴 파일 된 프로그램 으로 사용자 에 게 HTML 코드 를 되 돌려 줍 니 다.없 으 면 다시 컴 파일 합 니 다.여기 서 ASP 는 CGI 보다 속도 가 조금 더 좋 습 니 다.CGI 는 모든 요청 에 하나의 스 레 드 를 사용 하기 때 문 입 니 다.이렇게 하면 서버 의 자원 이 크게 소 모 됩 니 다.당신 이 쓴 프로그램 이 스스로 IIS 에서 실 행 될 수 있 습 니 다!?!이제 너 면 돼!VB5 를 사용 하면 Dynamic 을 만 들 수 있 습 니 다. Linked Libraries (DLL 파일),IIS 에서 직접 실행 할 수 있 습 니 다.(요청 할 asp 파일 이 있다 면)시스템 과 소프트웨어 의 요구 에 따라 32 비트 운영 체제 가 필요 합 니 다.물론 IIS 나 PWS 를 설치 해 야 합 니 다.아래 프로그램 은 windows 95+PWS+VB5 환경 에서 개발 되 었 습 니 다.VB 를 시작 하고 ActiveX 아이콘 을 선택 하 십시오.이 아이콘 은 새 프로젝트 에서 찾 을 수 있 습 니 다!VB 는 기본 프로젝트 이름(procject 1)과 클래스 이름(class 1)을 제공 합 니 다.이 두 이름 을 모두 바 꿀 것 입 니 다.이름 을 바 꾸 기 전에 Microsoft 가 있 는 지 먼저 확인 하 십시오. Active Server Pages Object Library,이것 은 우리 프로그램 에서 매우 유용 합 니 다.메뉴 에서"프로젝트"를 선택 한 다음"인용"을 선택 하면"인용"창 이 나타 납 니 다. Active Server Pages Object Library.프로젝트 와 클래스 이름 을 붙 여 줍 니 다.이제 프로젝트 1 과 class 1 의 취향 에 따라 이름 을 짓 겠 습 니 다!이름 을 짓 는 것 도 중요 합 니 다.나중에 이 프로젝트 이름과 클래스 이름 으로 이 구성 요소 의 인 스 턴 스 를 만 들 것 입 니 다!뒤에 상세 하 게 소개 하 겠 습 니 다.어떻게 이름 을 바 꾸 는 지 더 이상 말 하고 싶 지 않 습 니 다!우리 의 프로젝트 이름 은 Exmaple 로 바 뀌 었 습 니 다.Helloword 라 는 이름 으로 프로젝트 와 클래스 를 어떻게 사용 하 는 지 현재 우 리 는 우리 자신의 프로젝트(Example 1)와 클래스(Hello World)가 있 습 니 다.앞으로 우 리 는 ASP 코드 에서 그들의 이름 을 사용 하여 이 구성 요 소 를 참조 할 것 입 니 다.ASP 에서 우 리 는 다음 과 같이 참조 합 니 다.Set ObjReference = Server.CreateObject("ProjectName.ClassName")가 우리 프로젝트 에 대한 인용 은 다음 과 같 습 니 다.Set ObjReference = Server.Create Object("Example 1.Hello World")는 이제 구성 요소 에서 만 든 함수,서브루틴 을 ObjReference 로 호출 할 수 있 습 니 다.다음은 Say Hello 서브루틴 을 쓰 겠 습 니 다. 우 리 는 그것 의 코드 를 다음 과 같이 실행 합 니 다.프로그램 코드: <% Set ObjReference = Server.CreateObject("Example1.HelloWorld") ObjReference.SayHello %> Helloword 클래스 에서 ASP 를 사용 하 는 방법 을 사용 하기 위해 서 는 OnStartPage 서브 함 수 를 써 야 합 니 다.다음 과 같 습 니 다. 프로그램 코드: Public Sub OnStartPage(PassedScriptingContext As ScriptingContext) Set MyScriptingContext = PassedScriptingContext End Sub 현재,언제든지 사용자 가 이 구성 요소 가 있 는 ASP 파일 에 접근 하면 IIS 는 ScriptingContext 를 우리 의 대상 에 게 전송 할 것 입 니 다.이 ScriptingContext 는 모든 ASP 방법 과 속성 을 포함 합 니 다.이 를 통 해 우 리 는 모든 ASP 의 대상 에 접근 할 수 있 습 니 다.아래 코드 를 보십시오:프로그램 코드: Public Sub OnStartPage(PassedScriptingContext As ScriptingContext) Set MyScriptingContext = PassedScriptingContext Set MyApplication = MyScriptingContext.Application Set MyRequest = MyScriptingContext.Request Set MyResponse = MyScriptingContext.Response Set MyServer = MyScriptingContext.Server Set MySession = MyScriptingContext.Session End Sub 앞으로 저희 가 VB 에서 마 이 어 플 리 케 이 션 을 쓸 수 있 을 거 예요. ASP 의 애플 리 케 이 션 대신 Request,Server 를 대체 할 수 있 습 니 다. OnStartPage 전에 이 변 수 를 설명 합 니 다:프로그램 코드: Private MyScriptingContext As ScriptingContext Private MyApplication As Application Private MyRequest As Request Private MyResponse As Response Private MyServer As Server Private MySession As Session ASP 의 대상 을 사용 하면 우리 의 변 수 는 이제 표준 ASP 대상 처럼 사용 할 수 있 습 니 다!예 를 들 어,우 리 는 항상 ASP 에서 Request.form()으로 양식 을 제출 하 는 데 이 터 를 수집 합 니 다.현재 우 리 는 우리 의 VB 에서 이 기능 을 실현 합 니 다.코드 는 다음 과 같 습 니 다.ASP 에서 이 루어 집 니 다:프로그램 코드: <% MyTempVariable = Request.Form("userName") Response.Write ("you entered "& MyTempVariable & "as your user name") %> VB 에서 구현: 프로그램 코드: MyTempVariable = MyRequest.Form("userName") MyResponse.Write ("you entered "& MyTempVariable & "as your user name") Response 대신 MyResponse 를 사용 하면 모든 Response 방법 을 사용 할 수 있 습 니 다.물론 MyResponse 라 는 이름 은 마음대로 지 을 수 있 습 니 다.당신 은 심지어 Response 를 지 을 수 있 습 니 다.다른 하 나 는 우리 가 만 든 클래스 에 OnEndPage 서브 함 수 를 써 야 한 다 는 것 입 니 다.이 OnStartPage 는 반대 입 니 다!OnStartPage 는 생 성 대상 이 고 OnEndPage 는 소멸 대상 입 니 다.프로그램 코드: Public Sub OnEndPage() Set MyScriptingContext = Nothing Set MyApplication = Nothing Set MyRequest = Nothing Set MyResponse = Nothing Set MyServer = Nothing Set MySession = Nothing End Sub SayHello 방법"Holle"을 표시 하 는 키 함 수 를 만 듭 니 다. World".이 SayHello 방법 은 Hello World 와 같은 하위 함수 일 뿐 입 니 다.우 리 는 앞으로 ASP 에서 다음 과 같은 방법 으로 프로그램 코드 를 표시 할 것 입 니 다. <% Set ObjReference = Server.CreateObject("Example1.HelloWorld") ObjReference.SayHello %> Say Hello 의 프로그램,아주 간단 합 니 다!프로그램 코드: Public Sub SayHello() MyResponse.Write ("Hello World") End Sub 현재 작은 구성 요소 의 작성 이 완료 되 었 습 니 다.나머지 작업 은 이 구성 요 소 를 컴 파일 하 는 것 입 니 다."프로젝트"메뉴 에 저장 하고 이름 을 지 으 셔 도 됩 니 다.Exmaple 1.vbp 를 사용 합 시다! 그리고 메뉴 에서"make"를 선택 하 세 요. exmaple 1.dll"을 DLL 파일 로 컴 파일 합 니 다.구성 요소 하나 가 완료 되 었 습 니 다!이 구성 요 소 를 컴 파일 했 으 면 PWS 를 끄 고 컴 파일 해 야 합 니 다.그렇지 않 으 면 VB 에서 사용 중인 구성 요 소 를 알려 줄 것 입 니 다.ASP 에서 우리 의 구성 요 소 를 사용 합 니 다.컴 파일 중의 오 류 를 수정 하고 example 1 프로젝트 를 성공 적 으로 컴 파일 했 을 때,지금 당신 이 가장 좋아 하 는 HTML 편집 기 를 꺼 내 다음 문 구 를 써 야 합 니 다.ASP 파일 로 저 장 됩 니 다.프로그램 코드:
Example 1 <% Set ObjReference = Server.CreateObject("Example1.HelloWorld") ObjReference.SayHello %> 실행 후 결과 보기:Hello World 등록 구성 요 소 는 친구,이웃 과 구성 요 소 를 공유 하려 면 시스템 에 구성 요 소 를 등록 해 야 합 니 다.저 희 는 보통 Regsvr 32.exe 를 사용 하여 구성 요 소 를 등록 합 니 다.등록 후 구성 요 소 는 Win 95/Win 98 windows/system 디 렉 터 리 에 나타 납 니 다.다음은 등 록 된 예 입 니 다.Regsvr 32.exe C:/Example 1/Example 1.dll 은 시스템 에서 VB 가 자동 으로 등록 해 주기 때문에 Regsvr 32.exe 를 거의 사용 하지 않 습 니 다.여 기 는 아주 작은 구성 요소 만 썼 습 니 다.더 큰 구성 요 소 를 쓸 수 있 고 VB 의 많은 컨트롤 도 사용 할 수 있 습 니 다.그룹 웨 어로 프로그램의 기능 을 확장 합 시다!우리 중국인 들 의 구성 요소 도 많이 보 셨 으 면 좋 겠 습 니 다.