building data driven applications using winrt and xaml sergey barskiy, magenic microsoft mvp –...
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
• [email protected]• http://DotNetSpeak.com