Come conservare i dati per le app di Windows Store?

3

Ho un'applicazione che mi richiede di salvare i dati in un database che non si trova sul computer degli utenti. Quale approccio è il migliore per salvare e accedere ai dati per questo scenario? Normalmente userei Entity Framework e MS Sql Server, ma questo non sembra un'opzione per me con le app di Windows Store.

    
posta Florian 07.06.2013 - 20:59
fonte

2 risposte

2

Penso che l'utilizzo di una specie di proxy dell'API Web sarebbe la tua ipotesi migliore se sei preoccupato per la sicurezza dell'app.

È è stato provato che le app di Windows 8 possono essere decompilate facilmente quando non sono offuscati (come qualsiasi altro programma basato su Java o .NET senza offuscamento) e persino con l'offuscamento, si potrebbe sostenere che un eventuale hacker sarebbe in grado di trovare comunque la stringa di connessione.

È possibile avere un linguaggio di applicazione Web sul lato server come PHP, ASP .NET o ASP .NET MVC gestire l'input dalla propria app e quindi fare in modo che l'applicazione Web pubblichi ulteriormente i propri dati sul server SQL.

Per leggere i dati, l'app potrebbe passare qualche ID insieme alla richiesta nell'URL, e l'applicazione web potrebbe quindi recuperare le informazioni necessarie dal server SQL e scrivere i dati nella risposta per la tua app da leggere.

Questo potrebbe funzionare come una API RESTful , o qualcosa di simile.

Ecco un breve esempio.

  1. L'app richiede il link URI, presumendo che tu sia il proprietario del dominio example.com, e che questo è dove si ospita la propria applicazione web lato server.
  2. Il sito Web si collega internamente al database, recupera tutte le informazioni relative al cliente con ID 38 e lo scrive nella risposta HTTP attraverso un formato deserializable (farebbe JSON o XML).
  3. L'app riceve la risposta, la analizza e la utilizza visivamente nella GUI.

Questo è comunque per il recupero dei dati, ma sono sicuro che dimostri il concetto. Puoi usarlo per inserire i dati, e così via.

Mi rendo conto che una soluzione come questa richiede un server o qualche forma di hosting, ma almeno ti aiuta ad andare avanti.

    
risposta data 10.06.2013 - 17:23
fonte
2

È possibile memorizzare i dati direttamente su SQLite (database locale) dopo aver ottenuto il wrapper SQLite WinRT. I limiti dei database SQLite arrivano fino a 140 TB.

Le app store non supportano ODBC, JDBC, ADO.Net e SQL Native client, ecc. Quindi non possiamo accedere al database remoto direttamente nell'app store. Tuttavia, possiamo connetterci al database tramite il servizio in hosting che itseld accede direttamente al database. Il servizio ospitato può essere:

  • OData
  • REST
  • SOAP

Servizi mobili di Azure è un'altra grande opzione per archiviare i dati nel database remoto.

    
risposta data 07.12.2013 - 22:26
fonte

Leggi altre domande sui tag