2013-04-19 5 views
2

응용 프로그램 변수로 저장된 연결 문자열을 가지고 있으며 Application_OnStart() 이벤트로 초기화되는 고전적인 ASP 응용 프로그램이 있습니다.클래식 ASP의 모든 자정에 응용 프로그램 변수 업데이트

자정마다이 연결 문자열을 변경하고 다른 데이터베이스를 가리 키도록합니다.

XML을 연결 문자열로 사용하는 것과 같이 작업 스케줄러에서 C# EXE를 사용하여 변경 한 다음 IIS를 다시 시작한 다음 XML에서 수정 된 연결 문자열을 Application_OnStart()에 마지막으로 읽었지만 사용자가 싶지 않습니다. 그들의 세션을 풀어 라. 또한이 연결 문자열을 사용하는 장소가 너무 많아서 C# COM 구성 요소를 사용하여 각 위치에서 XML을 읽는 논리를 추가 할 수 없다고 생각합니다.

이것을 수행 할 수있는 방법이 있습니까? 저장/이벤트 등,이 연결 문자열을 저장할 수있는 위치를 사용하고 응용 프로그램을 다시 시작하지 않고도 업데이트 할 수 있습니까?

어떤 도움

정말 감사하겠습니다.

답변

1

응용 프로그램이 시작되면 변경 될 때 해고 될 구성 파일에 file system watcher을 추가 할 수 있습니다. 이 이벤트 핸들러에서 연결 문자열을 나타내는 변수를 수정할 수 있습니다.

그런 다음 작업 스케줄러에서 실행 파일을 가지고 구성 파일을 수정할 수 있습니다.

1

당신이 코드를 사용하여 수정 응용 프로그램 수준 변수를 사용할 수 있습니다 - 나는 그것이 사용자의 세션을 다시 거라고 생각하지 않습니다

<%@ Language="VBScript" %> 
<% 
Application.Lock 
Application("ConnString") = "new connection string" 
Application.Unlock 
%> 

당신은 변화를 수행 ASP 페이지를 정교하게 할 수 있습니다. 이것이 자동화 될 수있는 것이라면, 간단하게 그 페이지를 호출하고 일정을 책정 할 수 있습니다.