Building Data-Driven WinRT Applications with XAML
140 likes | 232 Vues
Learn about data handling in Windows 8 Metro Style apps using WinRT, including local and remote data options, web services, data binding, and setting up WCF development. Explore SOAP, REST, WCF, data services, storage, and deploying services.
Building Data-Driven WinRT Applications with XAML
E N D
Presentation Transcript
Building Data Driven Applications Using WinRT and XAML Sergey Barskiy, Magenic Microsoft MVP – Data Platform Principal Consultant Level: Intermediate
Overview • Dealing with Data in XAML Based Windows 8 Metro Style Applications • WinRT – Windows Runtime
Data Options in WinRT • Persisting Data • Local • Remote / Cloud
Data Binding • INotifyPropertyChanged • INotifyCollectionChanged • Changed since preview
Data Options In Detail • WCF Custom Services • SOAP • REST • Web Api • Part of MVC 4 • OData • WCF Data Services (coming soon..) • Local • Windows.Storage • SQLite (not yet)
Setting up For WCF Development • There is a setting in Project Properties to allow Loopback address or .. • Find Your Application’s ID (HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Mappings • Run CheckNetIsolation CheckNetIsolation LoopbackExempt -a -p=S-XXXXXX • Update Manifest to enable Networking and Internet Client
WCF • WCF Custom Services • Create new WCF Service / Add Reference • Data Contacts / Data Members / Operation Contracts • End point configuration • Querying and updating data • SOAP vs. REST • Soap is easier to use / proxy generation • REST offers better performance and scalability
WCF SOAP Service • Create new Service. • Use Service Contract • Operation Contract • Data Member • Define operations • Build the service • Add Service Reference to generate a proxy in Windows Metro Style project • Handle data binding! • Deploy the service • Setup URL on proxy
WCF REST Service • Create new Service. • Use new template to get a head start • Define operations • WebGet, WebInvoke • Message Type XML vs. JSON • Build the service • Deploy the service • Use HttpClient • Use XML Serializer or JSON Serializer to convert data between service and client • Use headers to set content type
ASP.NET Web Api • ApiController • Define actions • Update route table if necessary / match Urls in client to actions • Match actions to calls • User serializers to convert the data • Handle data binding • Validation
WCF Data Services • WCF Data Services • Subject to changes • There will be a client for WinRT • Data Service Collection? • Define a service • Create proxy (http://odata.codeplex.com) DataSvcUtil.exe /uri:http://localhost/odataservice.svc/ /out:MyModel.cs /Version:2.0 /DataServiceCollection • Configure end point • CRUD operations
Local Storage • Using Isolated Storage • Using Serializers • Helper class
Data Options in WinRT • Summary • Remote vs. local data • Hosting remote data • Azure / Cloud • Hosting providers • Local Storage Options • Files • SQLite (coming later) • Data binding / storage solutions
Contact Information • SergeyB@Magenic.com • http://DotNetSpeak.com