2013-03-04 22 views
5

Attualmente sto cercando di scrivere un'applicazione Windows Phone 7.1 che consente di accedere alle informazioni sulla classe Coursera, incluse le lezioni di streaming.Windows Phone BackgroundTransferRequest Issue

Desidero essere in grado di consentire anche agli utenti di scaricare video delle lezioni su diapositive (PDF). Sfortunatamente i file sono protetti. Questo di solito non è un problema. Ho il mio ClientHttpWebRequest impostato per utilizzare un CookieContainer. Questo va tutto bene.

Il divertimento arriva quando si tenta di utilizzare uno BackgroundTransferRequest per scaricare le risorse. La classe non consente di fornire un'istanza CookieContainer per i cookie. Ciò significa che devo impostare i valori usando BackgroundTransferRequest.Headers.

Coursera restituisce il cookie di sessione come cookie HttpOnly. Sfortunatamente, lo ClientHttpWebRequest non ti consente di accedere ai cookie di HttpOnly dalla risposta e, per proxy, significa che non posso leggere neanche il cookie di sessione dallo CookieContainer.

C'è qualcosa di ovvio che mi manchi fuori che mi consenta di accedere al valore che mi interessa o devo creare la mia infrastruttura di trasferimento file in background?

risposta

1

No, non ti manca nulla. Questo è un vuoto nell'offerta dell'SDK.

Tuttavia, posso pensare a 2 possibili alternative.

  1. L'app viene eseguita sotto la schermata di blocco e gestisce autonomamente i download. - Questo è il modo in cui dovevamo farlo prima che il trasferimento di file in background fosse disponibile.

  2. Avere il proprio server proxy che si trova tra l'app e l'altro sito che può gestire il lato cookie di cose per voi e rendere i file disponibili direttamente all'app. Ovviamente ci sono probabilmente importanti considerazioni sulla sicurezza da prendere in considerazione prima di adottare questo approccio. Potrebbero inoltre esserci costi aggiuntivi per l'esecuzione e la manutenzione del server.