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\Current Version\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 –Subject to changes There will be a client for WinRT Data Service Collection? –Define a service –Create proxy ( DataSvcUtil.exe /uri: /out:MyModel.cs /Version:2.0 /DataServiceCollectionhttp://odata.codeplex.com –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