building data driven applications using winrt and xaml sergey barskiy, magenic microsoft mvp –...

Post on 26-Dec-2015

216 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Building Data Driven Applications Building Data Driven Applications Using WinRT and XAMLUsing WinRT and XAML

Sergey Barskiy, MagenicSergey Barskiy, MagenicMicrosoft MVP – Data Platform

Principal Consultant

Level: Intermediate

OverviewOverview

• Dealing with Data in XAML Based Windows 8 Metro Style Applications

• WinRT – Windows Runtime

Data Options in WinRTData Options in WinRT

• Persisting Data– Local

– Remote / Cloud

Data BindingData Binding• INotifyPropertyChanged• INotifyCollectionChanged• Changed since preview

Data Options In DetailData 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 DevelopmentSetting 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

WCFWCF

• 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 ServiceWCF 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 ServiceWCF REST Service

• Create new Service. – Use new template to get a head start

– Define operations

WebGet, WebInvokeMessage 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 ApiASP.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 ServicesWCF 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 StorageLocal Storage

• Using Isolated Storage– Using Serializers

– Helper class

Data Options in WinRTData Options in WinRT

• Summary– Remote vs. local data

– Hosting remote data

Azure / Cloud Hosting providers

– Local Storage Options

FilesSQLite (coming later)

– Data binding / storage solutions

Contact InformationContact Information

• SergeyB@Magenic.com• http://DotNetSpeak.com

top related