2014-05-20 3 views
0

Windows Phone 8 응용 프로그램에서 (현재) 간단한 백그라운드 에이전트를 구현했습니다. 백그라운드 에이전트에서 WebRequest는 IsolatedStorage의 XML에 저장된 주식 목록을 업데이트합니다. 앱의 다른 부분에서 디버깅하는 동안 현재 로그인 한 사용자를 볼 수 있습니다. 그러나 BackgroundAgent가 시작되면 CurrentUser는 null입니다. 이 시점에서 CurrentUser가 응용 프로그램에 캐시되어서는 안됩니까? 그것은 애플 리케이션의 한 부분 (메인 애플 리케이션)에 캐시 된 것처럼 보이지만/다른 사람 (백그라운드 에이전트)에서 용납 할 수없는 것 같습니다. 현재 사용자가 백그라운드 에이전트에 설정되지 않는 것 같습니다. 더 많은 정보를 기꺼이 제공 하겠지만, 이것이 버그인지 또는 구현 오류인지 누구든지 알 수 있습니까?배경 에이전트 ParseUser.CurrentUser 캐시/액세스 할 수 없음 Windows Phone

문제 : CurrentActor는 항상 BackgroundAgent에서 null로 설정됩니다. BackgroundAgent에서 세션이 주 프로젝트와 다르므로 (설정되지 않은 이유는 무엇입니까?) 어떤 도움을 주셔서 감사합니다.

+1

일부 코드를 보여주십시오! 또한 Background Agent를 실행할 때마다 "캐시 된"것이 없습니다. 세션이나 데이터를 유지하려면 해당 코드를 작성해야합니다. 또한 Background Agent와 Foreground App은 상태를 공유하지 않습니다! –

+0

내 질문에 제한 사항 및 응용 프로그램 범위에 대한 정보가 더 많으므로 코드를 게시하지 않았습니다. 제 질문에 대답 해 주셨을 것 같습니다 (배경 에이전트와 전경이 같은 상태를 공유하지 않음). 내 백엔드로 Parse.com을 사용하여 내 사용자를 기록했습니다 (설명서에는 사용자가 세션간에 캐시 됨/디스크에 저장 됨). 이유는 CurrentUser가 항상 null 인 이유에 대해 혼란 스러웠습니다. 내 질문에 더 좋을 것 같아. 백그라운드 에이전트에서 사용자에게 어떻게 액세스 할 수 있습니까? 그들의 자격 증명을 저장하는 것은 믿을 수 없을 정도로 안전하지 않은 것처럼 보입니다. – Carlos

답변

1

백그라운드 에이전트와 포 그라운드 앱은 둘 다 동시에 실행되며 별도의 프로세스라는 보장이 없으므로 직접적인 통신 방법이 없습니다.

두 선호하는 방법은 그래서 통신을위한 API를 제공하지 않습니다 OS ...

  1. 배경 에이전트 전경 응용 프로그램에서 데이터를 동기화 웹 서비스를 이용하여
  2. Use Isolated Storage to share data between the Foreground App and Background Agent

자격 증명 - .NET에서 데이터를 암호화하는 데 사용할 수있는 방법이 있지만 나중에 참조 할 경우을 사용할 수 있습니다. WP8.1 (SL 또는 XAM 엘).