2010-04-14 15 views
5

Che identifica un'applicazione Silverlight e quando due applicazioni Silverlight possono condividere IsolatedStorage se non del tutto, cioè .:Due applicazioni Silverlight possono condividere IsolatedStorage su una macchina?

  • se voglio avere due applicazioni Silverlight quota spazio IsolatedStorage, è possibile? Che tipo di "ID applicazione" devo dare per fare questo?
  • se I non desidera che due applicazioni Silverlight condividano IsolatedStorage, come faccio a evitare ? Devo fare questo?

Per esempio, ho notato quando sviluppo un'applicazione Silverlight, posso premere F5, nell'applicazione Salva isolato bagagli, interrompere l'applicazione, premere F5 di nuovo, e si legge dal stesso IsolatedStorage . (Vorrei pensare che una nuova compilation causerebbe in modo da utilizzare nuova IsolatedStorage.)

Tuttavia, quando ho poi copiare i file Xap e .html in un'altra directory e aprire il file .html, non condivide il IsolatedStorage con l'applicazione che stavo sviluppando. Cosa è cambiato?

Cosa sta succedendo dietro le quinte qui, quindi so quando IsolatedStorage è condiviso e quando non lo è?

risposta

6

L'URL del file XAP di origine identifica l'applicazione. Vorresti che una nuova versione di un'applicazione fosse in grado di leggere lo store esistente per una versione precedente. Considera un gioco in cui tutti i punteggi più alti sono memorizzati nel negozio di applicazioni. L'utente potrebbe essere un po 'sconvolto quando tutti quei punteggi scompaiono dopo averlo aggiornato.

Diverse applicazioni possono condividere un unico negozio basato sul sito. Tuttavia, ottieni solo questi due livelli di granularità, a livello di app con chiave nell'URL XAP o sito basato, che è host e porta (non sono sicuro che lo schema sia anche parte di quella chiave).

+0

che ha senso, che "l'URL per l'origine XAP" è l'identificativo –

1

Se la memoria mi serve, la memoria isolata può essere utilizzata nell'ambito dell'applicazione e nell'ambito della pagina. Quindi - se capisco bene il mio ricordo, probabilmente direi - sì.

Modifica

Da una copia di Pro Silverlight 3.0 in C# che mi hai tutti:

(. P 636) Con l'archiviazione isloated, viene creato un percorso di archiviazione niqe per ogni combinazione di utente e applicazione. In altre parole, lo stesso computer può avere più posizioni di memoria isloated per la stessa applicazione, assymin ciascuna per un altro utente. Allo stesso modo, lo stesso utente può disporre di più posizioni di archiviazione una per ciascuna Silverlight Application

(p.637) ... GetUserStoreForFile(). Questo metodo fornisce un sito di archiviazione accessibile a tutte le applicazioni Silverlight nello stesso dominio del sito Web, tuttavia queste impostazioni sono ancora specifiche dell'utente

+0

Sto usando IsolatedStorageFile.GetUserStoreForApplication() per ottenere lo store, ma la mia preoccupazione è se un utente sta eseguendo due istanze di un'applicazione Silverlight, stanno accedendo allo stesso IsolatedStorage? Che cos'è che identifica l'applicazione in modo che abbia un'area unica di IsolatedStorage da utilizzare? –

+0

Modificato, pagina 637 contiene riferimenti a GetUserStoreForApplication – Maciek

Problemi correlati