In che modo un'applicazione Windows 8 Metro può gestire l'accesso al database back-end?

6

Durante le ricerche su Metro e WinRT non sono stato in grado di trovare nulla per quanto riguarda le app aziendali e l'accesso al database. Tutto ciò che sento è lo sviluppo del front end.

Qualcuno ha idea di come un'app Metro accederà a un server di database? Sarà ancora fatto attraverso ASP.Net e ADO.Net? Se no, allora qualcuno ha qualche idea o ipotesi su come?

    
posta Ein Doofus 08.02.2012 - 22:05
fonte

5 risposte

6

Sembra che le app Metro possano accedere ai dati aziendali tramite servizi web / WCF (Windows Communication Foundation) (come minimo). Sembra che tu possa utilizzare anche database locali come sqllite, come discusso nel thread stackexchange: link

    
risposta data 08.02.2012 - 22:10
fonte
5

Uno dei nomi di gemelli non così nascosti è WCF Data Services, che in poche parole ti permette di interrogare un modello di dati su HTTP, in un modo di tipo LINQ molto apparente usando un protocollo chiamato odata. I servizi dati vengono generalmente creati con Entity Framework, ma credo che ci siano anche altri provider.

link

    
risposta data 08.02.2012 - 22:49
fonte
4

Il 14 dicembre 2011 Microsoft MVP Morten Nielsen ha detto :

You can use HttpClient to download pretty much anything from the web. Why don't you configure your WCF service to return data as JSON, and use the DataContractJsonSerializer to deserialize the results?

E il 14 settembre 2011, dipendente Microsoft Tim Heuer ha detto :

...You cannot directly have a SQL db embedded in your app or use something like ADO.NET. This is more of an async/services infrastructure. So if your data was exposed via services...

Oh e dimenticati dello spazio dei nomi System.Data. Non è supportato in WinRT.

Il 01 novembre 2011, dipendente Microsoft Immo Landwerth ha scritto :

When I wrote that .NET for Metro style apps does not include database APIs I bascically meant System.Data. This also includes SqlConnection and SqlCommand, which you would probably need to communicate with the remote SQL Server.

TL; DR

  • Puoi usare HttpClient per scaricare praticamente qualsiasi cosa dal web. Configurare il servizio WCF per restituire i dati come JSON.
    • Se stai sviluppando un'applicazione XAML, utilizza la classe DataContractJsonSerializer per deserializzare i risultati.
    • Se stai sviluppando un'applicazione HTML5 / JS, utilizza una libreria Javascript .
risposta data 09.02.2012 - 01:05
fonte
1

WinRT non ha system.data e questo è stato confermato da Microsoft. System.data ha ADO e SQLclient. Nessuna connessione diretta a SQL da WinRT. È necessario ottenere dati da un servizio.

    
risposta data 25.05.2012 - 21:43
fonte
1

Nel caso in cui sei interessato, puoi ricorrere a MySQL invece di SQL Server. MySQL Connector / Net ha un componente WinRT (DLL) che puoi fare riferimento alla tua applicazione WinRT / UAP per accedere a un database MySQL. La sintassi è simile a "regolare" ADO.Net ed è davvero facile da usare.

Se si tiene il database nella stessa macchina, è necessario abilitare l'accesso "localhost" alle app WinRT / Metro utilizzando il cmdlet CheckNetIsolation, come spiegato qui:

link

Non so perché Microsoft cerca di complicare così tanto lo sviluppo di WinRT, forse semplicemente non vogliono applicazioni LOB usando il paradigma WinRT, ma almeno con i database abbiamo ancora un'alternativa a SQLite per usare database "reali". ..

    
risposta data 02.10.2015 - 13:29
fonte

Leggi altre domande sui tag