방법: 클라이언트 응용 프로그램 서비스에서 오프라인으로 작업
응용 프로그램에서 연결하는 Microsoft Ajax 응용 프로그램 서비스를 사용할 수 없는 경우 클라이언트 응용 프로그램 서비스를 오프라인 모드에서 사용할 수 있습니다. 이렇게 하면 로컬 데이터 캐시를 사용하여 사용자를 인증하거나, 사용자 역할을 검색하거나, 사용자 웹 설정을 검색 또는 저장할 수 있습니다. 오프라인 모드에서는 모드 서비스 요청이 코드를 변경하지 않은 상태로 로컬 캐시로 자동으로 이동합니다.
오프라인 상태는 Application.UserAppDataPath 속성으로 나타내는 위치에 있는 로컬 하드 디스크에 저장됩니다. 이는 오프라인 상태가 사용자 및 응용 프로그램 단위로 저장된다는 것을 의미합니다. 응용 프로그램이 오프라인 모드이면 일반적으로 원격 서비스로 이동하는 모든 호출이 로컬 데이터 캐시에 액세스합니다. 기본적으로 오프라인 값은 로컬 파일 시스템에 저장됩니다. 또는 응용 프로그램에서 SQL Server 또는 SQL Server Compact Edition 버전 3.5 데이터베이스를 사용하도록 구성할 수도 있습니다. 자세한 내용은 방법: 클라이언트 응용 프로그램 서비스 구성을 참조하십시오.
다음 절차에서는 응용 프로그램이 클라이언트 응용 프로그램 서비스를 사용하도록 구성된 경우 응용 프로그램을 오프라인 모드로 지정하는 방법에 대해 설명합니다. 클라이언트 응용 프로그램 서비스 기능에 대한 포괄적인 테스트 관련 지침을 보려면 연습: 클라이언트 응용 프로그램 서비스 사용을 참조하십시오.
응용 프로그램을 오프라인 모드로 지정하려면
방법: 클라이언트 응용 프로그램 서비스 구성의 설명에 따라 응용 프로그램이 클라이언트 응용 프로그램 서비스를 오프라인 모드에서 사용하도록 올바르게 구성되어 있는지 확인합니다. 일반적으로 오프라인으로 로그인할 수 있도록 로컬에 암호 해시 저장 옵션을 선택하면 응용 프로그램이 오프라인 상태에서 사용자를 인증할 수 있습니다. 또한 역할 정보가 오프라인 모드에서 만료되지 않도록 하려면 역할 서비스 캐시 제한 시간 값을 큰 값으로 설정해야 합니다.
static ConnectivityStatus.IsOffline 속성을 true로 설정합니다. 다음 코드 예제에서는 사용자가 오프라인 모드로 들어가거나 오프라인 모드를 종료할 수 있도록 이 설정을 CheckBox.CheckedChanged 이벤트 처리기에 설정하는 방법을 보여 줍니다.
Private Sub checkBox1_CheckedChanged( _ ByVal sender As Object, ByVal e As EventArgs) _ Handles checkBox1.CheckedChanged ConnectivityStatus.IsOffline = checkBox1.Checked End Sub
private void checkBox1_CheckedChanged(object sender, EventArgs e) { ConnectivityStatus.IsOffline = checkBox1.Checked; }
강력한 프로그래밍
이 항목의 예제 코드에서는 Windows 클라이언트 응용 프로그램에서 오프라인 모드를 가장 간단하게 사용하는 방법을 보여 줍니다. 응용 프로그램이 오프라인 모드로 돌아갈 때 실행되는 코드를 추가해야 할 수도 있습니다. 예를 들어 만료된 인증 쿠키로 인해 원격 서비스 호출이 실패하지 않도록 하기 위해 사용자에 대한 유효성을 자동으로 다시 검사할 수 있습니다. 또한 오프라인 상태에서 수행된 변경 사항으로 로컬 웹 설정 캐시와 원격 웹 설정 서비스를 업데이트할 수도 있습니다. 이러한 동작을 보여 주는 예제 코드를 보려면 연습: 클라이언트 응용 프로그램 서비스 사용을 참조하십시오.