2009-07-13 7 views
1

기존 웹 사이트의 세션 변수에 데이터를 저장하는 가장 좋은 방법은 무엇입니까?기본 ASP 웹 사이트를 데모하는 좋은 방법

기존 웹 사이트를 유지하고 있으며 사용자가 사이트의 모든 기능을 데모 할 수 있기를 원합니다. 이는 레코드를 삭제할 수 있음을 의미합니다.

Teletric 컨트롤의 데모는 내가 처음 보았을 때 세션에 데이터 집합을 저장하고 사용자가 데이터를 조작 할 수 있도록하는 데모입니다.

MS Access 백엔드로 ASP에서 어떻게 동일한 결과를 얻을 수 있습니까?

답변

0

여러 페이지에 걸쳐 상태를 유지하려는 경우 (예 : 애플리케이션을 완료하는 데모) 다음은 약간 까다 롭습니다.

각 세션마다 MDB 파일을 복사하고 복사 된 버전을 사용하는 것이 좋습니다. 이렇게하면 모든 세션이 자체 데이터를 사용하게됩니다.

  • 하는 세션 사본 각 사용자
  • 개별 MDB
를 사용하는 사용자 세션 ID 후 템플릿 이름을위한 새로운 템플릿으로 사용되는 액세스 DB의 버전을 만들

참고 : 다음 단점은 내가 언젠가 후에 많은 것을 얻을 수 있으므로 사용하지 않는 MDB 파일을 제거해야한다는 것입니다. 새 작업을 만들기 전에 예약 된 작업으로 또는 세션 시작시에도 작업을 수행 할 수 있습니다.

사용 여부를 확인하는 데 사용할 수있는 파일 작성 날짜를 확인하거나 LDF 파일이 도움이 될 수 있는지 잘 모르겠습니다 (사용하지 않은 경우 = 사용하지 않음).

0

검색 시간에 저장하는 변수의 종류를 기억하는 한 세션 변수에 객체를 연결하거나 포함 할 수 있습니다. 세션 변수에 데이터 집합을 저장 한 적이 없었지만 세션 변수에 배열을 많이 저장 했으므로 ADO Getrows method을 사용하여 세션 변수에 전체 데이터 집합을 찾을 수 있습니다.

0

Access 데이터베이스의 크기는 어느 정도입니까? 데이터베이스가 충분히 작 으면 (서버 용량, 예상 사용자 수 등과 관련하여) 데모를 실행하는 각 사용자에 대해 데이터베이스의 새로운 복사본을 사용하는 아이디어를 좋아합니다.

이 방법을 사용하면 가능한 코드 경로를 단순화합니다. 그렇지 않으면 "데모 모드입니까?" 논리가 많은 코드를 침투합니다. 나는 이런 식으로 할 것

...

  1. 사용자가 데모를 시작

    가 해당 사용자가 사용에 대한 액세스 DB의 복사본을 만듭니다. db가 foo.mdb이면 /tempdb/foo_1234567890.mdb에 복사하십시오. 여기서 1234567890은 사용자의 세션 ID입니다.

  2. 새 데이터베이스 복사본을 가리 키도록 사용자 연결 문자열을 변경하십시오. 이 시점부터 앱은 더 이상 수정하지 않고 '정상'처럼 작동 할 수 있습니다.

  3. 이전에 __ 시간 이상 지난 수정 시간으로/tempdb에있는 모든 파일을 삭제하는 예약 된 작업이 있습니다.서버에서 작업을 예약 할 능력이없는 경우 (아마도 공유 호스팅 환경에있는 경우 등) 1 단계와 동시에이 작업을 수행 할 수 있습니다.

관련 문제