Windows 7 모바일 Silverlight 프로젝트를 만들고 있습니다. 클래스를 사용하여 인증을 위해 나머지 API를 사용합니다. 인증이라고 말합니다. 나는 응답으로 인증 토큰을 얻었고 이것을 다른 장소에서 사용해야하기 때문에 클래스 속성 AuthToken에 할당했습니다. 이 AuthToken을 세션이나 다른 것으로 저장하는 방법이 있습니까? wp7에서 세션 예제를 찾지 못했기 때문입니다. 감사합니다.Windows Phone 7 세션을 사용하는 Silverlight
답변
내가 아는 한 WP7에 세션이 없기 때문에 세션 예제를 찾을 수 없습니다. 격리 저장소를 사용하여 AuthToken을 유지할 수 있어야합니다. 그러나 세션에서 기대하는 일정한 시간이 지나면 만료되지 않습니다. http://www.windowsphonegeek.com/tips/all-about-wp7-isolated-storage-store-data-in-isolatedstoragesettings
는 희망이 도움이 :
는 예는 다음이나 구글 검색 격리 된 저장소를 참조하십시오. WP7 개발은 많이하지 않았지만 Silverlight에 익숙합니다.
당신은 현재 응용 프로그램 인스턴스의 수명 동안 원하는 가정 :
가장 간단한 대답은 정적 속성 대신 인스턴스 속성으로 저장하는 것입니다.
간단히 대답하면 Application 클래스 (App.xaml.cs)의 속성으로 저장하는 것입니다. 토큰
덜 간단하지만 아마도 더 나은 대답은 ViewModel 속성에 저장하여 ViewModel 로케이터를 통해 액세스 할 수 있습니다. (예를 들어, (App) (Application.Current) 예를 들어 MVVM Light를 살펴보십시오.
이 모든 경우에 사용자가 시작과 그 다음에 (예를 들어) 뒤로 가면 다시 복원하기 위해 삭제 표시를 고려해야합니다.
임시 세션 저장 (사용자가 뒤로 버튼을 사용하여 앱으로 돌아갈 때를 포함하여 앱의 수명)을 원하면 전화 상태을 사용할 수 있습니다. 전화 상태는 ASP.NET의 세션 상태와 유사합니다. 그것은 문자열 키가있는 (직렬화 가능한) 객체의 사전이며 앱 실행을 통해 유지 관리되지 않지만 앱이 Back Stack에서 탐색 될 때 복원됩니다. 앱의 모든 인스턴스는 다음이 적합합니다 IsolatedStorageSettings 조사를 통해 설정을 저장해야하는 경우
private CustomObject myObject;
protected override void OnNavigatedFrom(NavigationEventArgs args)
{
//Save to State when leaving the page
PhoneApplicationService.Current.State["myObject"] = myObject;
base.OnNavigatedFrom(args);
}
protected override void OnNavigatedTo(NavigationEventArgs args)
{
if (PhoneApplicationService.Current.State.ContainsKey("myObject"))
{
//Restore from State
myObject = (CustomObject)PhoneApplicationService.Current.State["myObject"];
}
else
{
//No previous object, so perform initialization
myObject = new myObject();
}
}
: 그것은 일부 사용자 지정 개체의 이름 인 myObject를 복원하는 데 사용할 년대의 여기
은 예입니다. 필요에 따라 다른 옵션이 있습니다 ( Charles Petzold has a free eBook with some great examples).위의 코드가 작동하지 않는 이유는 확실하지만 다른 옵션은 IsolatedStorageSettings를 사용하여 저장되는 앱 속성을 사용하는 것입니다. 당신의 App.xaml.cs를에서
: 예를 들면 다음과 같습니다
public bool VibrationOn { get; set; }
private void Application_Launching(object sender, LaunchingEventArgs e)
{
LoadSettings();
}
private void Application_Activated(object sender, ActivatedEventArgs e)
{
LoadSettings();
}
private void Application_Deactivated(object sender, DeactivatedEventArgs e)
{
SaveSettings();
}
private void Application_Closing(object sender, ClosingEventArgs e)
{
SaveSettings();
}
private void LoadSettings()
{
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
bool vo;
if (settings.TryGetValue<bool>("VibrationOn", out vo))
VibrationOn = vo;
else
VibrationOn = true;
}
private void SaveSettings()
{
IsolatedStorageSettings settings = IsolatedStorageSettings.ApplicationSettings;
settings["VibrationOn"] = VibrationOn;
}
그런 다음이 코드를 사용하여 응용 프로그램에서 어느 곳이 속성에 액세스 할 수 있습니다
: 나는 위의 사용하고
if (Application.Current.VibrationOn)
{
VibrateController.Default.Start(TimeSpan.FromMilliseconds(200));
}
위의 코드를 사용하고 있습니다. 하지만 다른 클래스에서이 값을 얻으면 저장된 값이로드되지 않습니다. 그것은 휴식 지점을 사용할 때만 작동합니다. –
@Muhammad Zeeshan은 페이지 상태가 왜 작동하지 않는지 확실하지 않습니다. 제한된 방법으로 나에게 잘 해줬 다. 귀하의 상황에 맞는 작품을 찾을 수있는 예를 들어 답을 업데이트했습니다. 값이 만료되기를 원하면 datetime 객체를 저장하고'LoadSettings' 메소드에서 그것을 검사 할 수 있습니다. 또 다른 옵션은 애플리케이션 열기/닫기 이벤트에서'LoadSettings' /'SaveSettings' 메소드를 호출하지 않아 애플리케이션이 새로 시작될 때 기본값으로 돌아가도록합니다 (그러나 다시 상태로 유지합니다). – theChrisKent
정말 고마워요. 응답을 위해. 나는 schummbo의 대답을 사용했다. 그것은 나의 상황에서 효과가 있었다. 나는 너를 투표했다. :) –
- 1. Windows phone 7 silverlight tombstoning
- 2. Windows Phone 7 Silverlight 동적 격자
- 3. Windows Phone 7/Silverlight 용 플로팅 라이브러리
- 4. Silverlight/Windows Phone 7 용 데이터 솔루션
- 5. Silverlight 4 툴킷에서 Windows 7 Phone namspace
- 6. Windows Phone 7 : Silverlight 및 음악 재생
- 7. Windows Phone 7 IsolatedStorage에서 Silverlight 바인딩 이미지
- 8. Windows Phone 7 - Silverlight Checkmark color
- 9. ProgressBar Windows phone 7?
- 10. Windows Phone 7 DirectX 개발
- 11. Windows Phone 7 소켓을 사용하는 FTP
- 12. Windows Phone 7/Silverlight의 Hessian?
- 13. Windows phone 7
- 14. MediaElement Windows Phone 7
- 15. Windows Phone 7 - 비활성화?
- 16. Azure + Windows phone 7
- 17. Windows Phone 7 개발자
- 18. Windows Phone 7 animation
- 19. Windows Phone 7 단추
- 20. Windows Phone 7 스니퍼
- 21. JQTouch Windows Phone 7
- 22. Windows Phone 7 SDK
- 23. Windows Phone 7 API + SSL
- 24. Windows Phone 7 팝업 창
- 25. windows phone 7 그리드 성능
- 26. Windows Phone 7 - Silverlight - Touch Input - TouchPoint.Size는 항상 1,1
- 27. Windows Phone 7 : 빌드 netmodule 및 dll
- 28. Windows Phone 및 Silverlight ListBox.ItemTemplate
- 29. 프리즘 v4 (Windows phone 7)
- 30. Windows Phone 7 시뮬레이터 입력
을 암호.하지만 다른 클래스에서이 값을 얻으면 저장된 값이로드되지 않습니다 –