권장 : ASP 및 ASP.NET 공유 세션을 구현하는 방법 .NET에서 세션의 스토리지 메커니즘은 ASP의 스토리지 메커니즘과 다릅니다. 동일한 IIS에서 동시에 ASP 및 ASPX를 실행할 수 있지만 세션은 이들 사이에 전달할 수 없습니다. 이전에는 많은 수의 시스템이 ASP에 사용되었습니다. 업그레이드 프로세스 중에 ASP가 완전히 버려지면
별도의 모듈에서 범용 연결을 만드는 것과 동일한 아이디어를 사용하여 Pagelet을 만듭니다. Pagelet을 사용하면 개발자가 의사 제어를 만들 수 있으며, 이는 객체뿐만 아니라 속성, 방법 및 이벤트를 표시하는 데 사용할 수 있습니다. 우리의 솔루션은 ConnectTodb 메소드를 표시하는 Pagelet을 만드는 것입니다. 우리는 다음 코드를 사용하여 pagelet을 생성하고 connect.aspc로 저장합니다 (확장자는 그것이 pagelet임을 나타냅니다).< %@ 가져 오기 네임 스페이스 = System.Data %>
< %@ import namespace = system.data.ado %>
<script language = vb runat = server>
공개 함수 connectTodb ()는 AdoConnection입니다
ConnectTodB = 새로운 AdoConnection (DSN = lecibledsn)
엔드 기능
< /스크립트>
System.Data 및 System.Data.ado와 같은 두 개의 네임 스페이스를 가져 왔습니다. ADO 관리 제공자를 사용하려면 이러한 네임 스페이스가 필요합니다. 대부분의 예제는 현재 Microsoft SQL Server 2000 데이터베이스를 기반으로 SQL 관리 공급자를 사용하고 있기 때문에 많은 사람들이 나에게 많은 질문을했습니다. 비 SQL 서버 데이터베이스의 경우 ASP는 ADO 관리 제공자를 사용할 수 있습니다. 이는 현재 프로그램에서 ADO를 사용하는 방식과 거의 같습니다. 네임 스페이스 가져 오기는 VB 프로그램에서 참조를 작성하는 것과 유사합니다.
Pagelet을 사용하면 현재 사이트 계획을 유지할 수 있으며 모듈에서 연결이 생성되면 필요한 곳마다 모듈을 재사용 할 수 있습니다. 즉, 포함 파일 지시문을 Pagelet 인스턴스로 바꾸고 데이터베이스 연결이 필요할 때 ConnectToDB 메소드를 호출해야합니다. Pagelet이 필요한 페이지에서 먼저 ASP 지시문을 사용하여 페이지에 등록해야합니다. 이 지침에서는 tagprefix, tagname 및 source (src)를 정의합니다. ASP의 포함 파일과 마찬가지로 Pagelet을 배치하는 위치에 Tagprefix 및 Tagname을 사용해야합니다.
< %@ register tagprefix = 7 tagname = connect
src = http : //www.alixixi.com/dev/web/asp/asp_1/2007/_includes/connect.aspc %>
방금 등록한 Pagelet을 배치하는 방법은 ASP 서버 컨트롤과 유사합니다.
<[tagprefix] : [tagname] id = mypagelet runat = server />
예를 들어:
<7 : 연결 ID = Connect Runat = Server />
ADO에서 레코드 세트의 개념은 데이터 세트와 데이터 뷰의 조합으로 대체됩니다. 우리는이 두 가지 개념에 대해 나중에 논의 할 것입니다. 먼저, default.asp 페이지가 default.aspx (ASP 페이지의 접미사)로 이동 한 후 어떤 변경이 발생했는지 살펴 보겠습니다. Default.asp를 먼저 살펴 보겠습니다.
<!-#include file = _includes/connect.inc->
< %
Dim Cneville_db, Rsup 컨월, strsqlup omecom
rsup coming = server.createobject (adodb.recordset) set
strsqlupicing = 선택 상단 2 & _
Classs.title, sessions.session_id, & _
sessions.special, classe.description & _
수업에서 & _의 내부 조인 세션
class.class_id = sessions.classid & _
여기서 (((sessions.date)> date ()) & _
sessions.date로 주문하십시오
rsupcoming.open strsqlup riding, cneville_db
%>
ASP에서는 default.aspx가됩니다.
< %@ 가져 오기 네임 스페이스 = System.Data %>
< %@ import namespace = system.data.ado %>
< %@ register tagprefix = 7 tagname = connect & _
src = http : //www.alixixi.com/dev/web/asp/asp_1/2007/_includes/connect.aspc %>
<script language = vb runat = server>
sub page_load (객체로서 소스, e as aventargs)
adodatasetcommand로 Dim dscup womid
새로운 데이터 세트로 Dim Dsup wome
strsql dim strsql
strsql = 상위 2 개의 클래스를 선택하십시오. Title, & _
sessions.session_id, class.description & _
수업에서 & _의 내부 조인 세션
class.class_id = sessions.classid & _
여기서 (((sessions.date)> date ()) & _
sessions.date로 주문하십시오
DSCUPICON = NEW ADODATASETCOMMAND (strsql, connect.connecttodb ())
dscupicing.filldataset (dsupicing, 다가오는)
종료 서브
< /스크립트>
데이터 액세스의 핵심, ANSI-SQL 문은 변환 후 아무것도 없습니다.
공유 : ASP.NET 2.0의 제어 상태 및보기 상태에 대한 토론 기본 개념 제어 상태 - 제어가 올바르게 작동하기 위해서는 제어 상태 데이터가 필요합니다. 예를 들어, 다른 정보를 보여주는 다른 탭이있는 사용자 정의 컨트롤을 작성하는 경우 컨트롤이 예상대로 작동하기 위해서는 제어가 왕복을 통과했음을 알아야합니다.