DCSIMG
March 2009 - Posts - Guy Burstein's Blog

Guy Burstein's Blog

Developer Evangelist @ Microsoft

News

Guy Burstein The Bu

Disclaimer
Postings are provided 'As Is' with no warranties and confer no rights.

Guy Burstein LinkedIn Profile

March 2009 - Posts

Download MIX09 Sessions and Watch Offline

Download MIX09 Sessions and Watch Offline

personally prefer watching sessions regardless of my Internet connection status, so I decided to download MIX09 sessions and watch offline.

download MIX09 sessions and watch offline

I collected the list of available sessions from MIX 09, and they are easy to download. I personally use Free Download Manager for simultaneous efficient downloads - you can try it yourself. Just select all the text in this post, right click and select “Download Selected with Free Download Manager”.

Note: Full details about the sessions, speakers, as well as user comments and feedbacks can be found at https://content.visitmix.com/2009/sessions/

MIX09-KEY01 - Day One Keynote (Video, Slides)
Bill Buxton, Scott Guthrie

MIX09-KEY02 - Day Two Keynote (Video, Slides)
Deborah Adler, Dean Hachamovitch 

MIX09-01W - Semantic HTML and Unobtrusive JavaScript (Video, Slides)
Nate Koechley

MIX09-02W - Design Fundamentals for Developers (Video, Slides)
Robby Ingebretsen

MIX09-03W - Shio O Totte: Using What You Know (Video, Slides)
Grant Hinkson, Adam Kinney

MIX09-04W - Cascading Stylesheets (Video, Slides)
Molly Holzschlag

MIX09-05W - Developing for Experience with 3 Heads (Video, Slides)
Scott Barnes, Rick Barraza, Jose Fajardo, Michael Wolf

MIX09-06W - Hiking Mt. Avalon (Video, Slides)
Mike Hillberg, Robby Ingebretsen, Jaime Rodriguez

MIX09-B01M - Scaling a Rich Client to Half a Billion Users (Video, Slides)
Steve Zheng

MIX09-B02M - Software Entrepreneurs: Go Big with BizSpark (Video, Slides)
Julien Codorniou

MIX09-B03M - Copyright Laws for Web Designers and Developers (Video, Slides)
Jonathan Zuck

MIX09-B04M - Enhancing Large Windows Media Platforms with Microsoft Silverlight (Video, Slides)
Robert Ames, Matt Smith

MIX09-B05M - Exposing Web Content to a Global Audience Using Machine Translation (Video, Slides)
Dr. Neil Roodyn

MIX09-C01F - Sketch Flow: From Concept to Production (Video, Slides)
Celso Gomes, Christian Schormann

MIX09-C02F - Improving UX through Application Lifecycle Management (Video, Slides)
Chris Bernard, Christian Thilmany

MIX09-C03F - Microsoft Expression Web: No Platform Left Behind (Video, Slides)
Steve Guttman, Tyler Simpson

MIX09-C04F - The Future of Microsoft Expression Blend (Video, Slides)
Douglas Olson, Christian Schormann

MIX09-C05F - C# for Designers (Video, Slides)
Fred Gerantabee, Jennifer Smith

MIX09-C06F - Ten Ways to Ensure RIA Failure (Video, Slides)
Anthony Franco

MIX09-C07F - Deep Zoom++ : Build Dynamic Deep Zoom Applications with Open Source (Video, Slides)
Ken Azuma, Allan Li

MIX09-C08F - Using Total Experience Design to Transform the Digital Building (Video, Slides)
Paul Dawson, Daren May

MIX09-C09F - A Website Named Desire (Video, Slides)
Nishant Kothary

MIX09-C10F - Design Prototyping: Bringing Wireframes to Life (Video, Slides)
Dan Harrelson

MIX09-C11F - Escaping Flatland in Application Design: Rich User Experiences (Video, Slides)
Peter Eckert, Jeff McLean

MIX09-C12F - Go Beyond Best Practices: Evolving Next Practices to Prosper in the 21st Century (Video, Slides)
Lou Carbone

MIX09-C13F - Interaction Techniques Using the Wii Remote (and Other HCI Projects) (Video, Slides)
Johnny Lee

MIX09-C14F - Interactive Prototyping with DHTML (Video, Slides)
Bill Scott

MIX09-C15F - Touch and Gesture Computing, What You Haven't Heard (Video, Slides)
Joseph Fletcher

MIX09-C16F - The Way of the Whiteboard: Persuading with Pictures (Video, Slides)
Dan Roam

MIX09-C17F - Web Form Design (Video, Slides)
Luke Wrobleski

MIX09-C18F - Wireframes That Work: Designing (Rich Internet) Applications (Video, Slides)
Aaron Adams

MIX09-C19F - How Razorfish Lights Up Brand with Microsoft SharePoint (Video, Slides)
Tony Jones

MIX09-C20F - State of the Art in Web Site Design on Microsoft SharePoint (Video, Slides)
Chris Auld

MIX09-C21F - User Experience Design Patterns for Business Applications with Microsoft Silverlight 3 (Video, Slides)
Corrina Black

MIX09-C22F - Creating a Great Experience on Digg with Windows Internet Explorer 8 (Video, Slides)
Joel K. Neubeck

MIX09-C23F - Windows Internet Explorer 8 in the Real World: How Is Internet Explorer 8 Used (Video, Slides)
Paul Cutsinger

MIX09-C24F - Measuring Social Media Marketing (Video, Slides)
Jason Burby, Ryan Turner

MIX09-C26F - Designing the Windows 7 Desktop Experience (Video, Slides)
Stephan Hoefnagels

MIX09-C27M - Creating Interactivity with Microsoft Expression Blend (Video, Slides)
Peter Blois

MIX09-C28M - Integrating Microsoft Expression Blend with Adobe Creative Suite (Video, Slides)
Joanna Mason

MIX09-C29M - Effective Infographics with Interactivity (Video, Slides)
Joshua Allen

MIX09-C30M - User Experience Design for Non-Designers (Video, Slides)
Shawn Konopinsky

MIX09-T01F - A Lap around Microsoft .NET Services (Video, Slides)
Todd Holmquist-Sutherland, John Shewchuk

MIX09-T02F - Simplifying Distributed Access Control with Microsoft .NET Services (Video, Slides)
Justin Smith

MIX09-T03F - Connecting Applications across Networks with Microsoft .NET Services (Video, Slides)
Clemens Vasters

MIX09-T04F - Mesh-Enabled Web Applications (Video, Slides)
Arash Ghanaie-Sichanie

MIX09-T05F - Live Framework and Mesh Services: Live Services for Developers (Video, Slides)
Ori Amiga

MIX09-T06F - What's New in Microsoft SQL Data Services (Video, Slides)
Nigel Ellis

MIX09-T07F - Overview of Windows Azure (Video, Slides)
Manuvir Das

MIX09-T08F - Windows Azure Storage (Video, Slides)
Brad Calder

MIX09-T09F - Building Web Applications with Windows Azure (Video, Slides)
Steve Marx

MIX09-T10F - RESTful Services for the Programmable Web with Windows Communication Foundation (Video, Slides)
Ron Jacobs

MIX09-T11F - Developing RESTful Services and Clients with "M" (Video, Slides)
Douglas Purdy, Chris Sells

MIX09-T12F - Principles of Microsoft Silverlight Animation (Video, Slides)
Jeff Paries

MIX09-T13F - Working across the Client Continuum (Video, Slides)
Laurent Bugnion

MIX09-T14F - What's New in Microsoft Silverlight 3 (Video, Slides)
Joe Stegman

MIX09-T15F - High-Speed RIA Development with the Microsoft Silverlight Toolkit (Video, Slides)
Shawn Oster

MIX09-T16F - Building Microsoft Silverlight Controls (Video, Slides)
Karen Corby

MIX09-T17F - Deep Dive into Microsoft Silverlight Graphics (Video, Slides)
Seema Ramchandani

MIX09-T18F - Delivering Ads to a Silverlight Media Player Application (Video, Slides)
Nicholas Brookins

MIX09-T19F - Creating Media Content for Microsoft Silverlight Using Microsoft Expression Encoder (Video, Slides)
James Clarke

MIX09-T20F - Using Microsoft ASP.NET MVC to Easily Extend a Web Site into the Mobile Space (Video, Slides)
Jared Eischen, John Stockton

MIX09-T21F - Running PHP on Microsoft Servers and Services (Video, Slides)
Shaun Hirschman, Michael Joffe

MIX09-T22F - Using Dynamic Languages to Develop Microsoft Silverlight Applications (Video, Slides)
John Lam

MIX09-T23F - Choosing between ASP.NET Web Forms and MVC (Video, Slides)
Rachel Appel

MIX09-T24F - The Microsoft Web Sandbox: An Open Source Framework for Developing Secure Standards-Based Web Applications (Video, Slides)
Scott Isaacs

MIX09-T25F - Web Development Using Microsoft Visual Studio: Now and in the Future (Video, Slides)
Jeff King

MIX09-T26F - Love the New Windows Live Messenger Web Toolkit for Social Websites (Video, Slides)
Steve Gordon, Keiji Kanazawa

MIX09-T27F - Protecting Online Identities (Video, Slides)
Jorgen Thelin

MIX09-T28F - Standards for Aggregating Activity Feeds and Social Aggregation Services (Video, Slides)
Marc Canter, Monica Keller, Kevin Marks, John McCrea, Dare Obasanjo, Luke Shepard

MIX09-T29F - Adding Microsoft Silverlight to Your Company's Skill Set (Video, Slides)
Noah Gedrich, Ken Martin

MIX09-T30F - Advance Your Design with UX Design Patterns (Video, Slides)
Ambrose Little

MIX09-T31F - Microsoft Xbox "Lips" and "Fable II": Multi Channel Experiences (Video, Slides)
Charles Duncan

MIX09-T32F - Cloud Computing: What's in It for Me? (Video, Slides)
John Keagy

MIX09-T33F - Customized Live Search for Web and Client Applications (Video, Slides)
Alessandro Catorcini

MIX09-T34F - Introducing the Microsoft Virtual Earth Silverlight Map Control CTP (Video, Slides)
Chris Pendleton

MIX09-T35F - Building a Rich Social Network Application (Video, Slides)
Miho Heo, Gilbok Lee

MIX09-T36F - Modeling RESTful Data Services: Present and Future (Video, Slides)
Pablo Castro

MIX09-T37F - Extending Your Brand to the Desktop with Windows 7 (Video, Slides)
Yochay Kiriaty

MIX09-T38F - See through the Clouds: Introduction to the Azure Services Platform (Video, Slides)
James Conard

MIX09-T39F - What's New in Windows Presentation Foundation (WPF) 4 (Video, Slides)
Kevin Gjerstad, Mark Wilson-Thomas

MIX09-T40F - Building Amazing Business Centric Applications with Microsoft Silverlight 3 (Video, Slides)
Brad Abrams

MIX09-T41F - .NET RIA Services - Building Data-Driven Applications with Microsoft Silverlight and Microsoft ASP.NET (Video, Slides)
Nikhil Kothari

MIX09-T42F - Consuming Web Services in Microsoft Silverlight 3 (Video, Slides)
Eugene Osovetsky

MIX09-T43F - Microsoft Silverlight Media End-to-End (Video, Slides)
Alex Zambelli

MIX09-T44F - Microsoft ASP.NET Model View Controller (MVC): Ninja on Fire Black Belt Tips (Video, Slides)
Phil Haack

MIX09-T45F - Building Out of Browser Experiences with Microsoft Silverlight 3 (Video, Slides)
Mike Harsh

MIX09-T46F - Microsoft ASP.NET 4.0 : What's Next? (Video, Slides)
Stephen Walther

MIX09-T47F - Microsoft ASP.NET 4.0 Data Access: Patterns for Success with Web Forms (Video, Slides)
David Ebbo

MIX09-T48F - Microsoft ASP.NET: Taking AJAX to the Next Level (Video, Slides)
Stephen Walther

MIX09-T49F - File|New -> Company: Creating NerdDinner.com with Microsoft ASP.NET Model View Controller (MVC) (Video, Slides)
Scott Hanselman

MIX09-T50F - ASP.NET MVC: America's Next Top Model View Controller Framework (Video, Slides)
Phil Haack

MIX09-T51F - The Microsoft Web Platform: Starring Internet Information Services (IIS) and Your Application (Video, Slides)
Crystal Hoyer, Mai-lan Tomsen Bukovec

MIX09-T52F - A Lap around Windows Internet Explorer 8 (Video, Slides)
Giorgio Sardo

MIX09-T53F - Building High Performance Web Applications and Sites (Video, Slides)
John Hrvatin

MIX09-T54F - Securing Web Applications (Video, Slides)
Eric Lawrence

MIX09-T55F - Creating a "Next Generation" E-Commerce Experience (Video, Slides)
Scott Cairney, Jean-Yves Martineau

MIX09-T56F - Delivering Media with Internet Information Services 7 (IIS) Media Services and Microsoft Silverlight (Video, Slides)
John Bishop, John Bocharov

MIX09-T57F - Developing and Deploying Applications on Internet Information Services (IIS) (Video, Slides)
Thomas Deml

MIX09-T58F - Build Applications on the Microsoft Platform Using Eclipse, Java, Ruby and PHP! (Video, Slides)
Vijay Rajagopalan

MIX09-T59F - Building Scalable and Available Web Applications with Microsoft Project Code Name "Velocity" (Video, Slides)
Murali Krishnaprasad

MIX09-T60F - Miss March and Other Distractions (Video, Slides)
Scott Stanfield

MIX09-T61F - Windows Mobile 6.5 Overview (Video, Slides)
Loke Uei Tan

MIX09-T62F - There's a Little Scripter in All of Us: Building a Web App for the Masses (Video, Slides)
Rob Conery

MIX09-T63M - Building Data-Driven Scalable AJAX Web Pages (Video, Slides)
Jon Flanders

MIX09-T64M - Caching REST with Windows Communication Foundation (Video, Slides)
Jon Flanders

MIX09-T65M - Building Accessible RIAs in Microsoft Silverlight (Video, Slides)
Chris Auld, Reed Shaffner

MIX09-T66M - Building Microsoft Silverlight Applications with Eclipse (Video, Slides)
Shawn Wildermuth

MIX09-T67M - Building an Optimized, Graphics-Intensive Application for Microsoft Silverlight (Video, Slides)
Seema Ramchandani

MIX09-T68M - When Errors Happen: Debugging Microsoft Silverlight (Video, Slides)
John Papa

MIX09-T69M - Microsoft Silverlight Is Ready for Business (Video, Slides)
Ward Bell

MIX09-T70M - Optimizing Performance for Microsoft Expression Encoder (Video, Slides)
James Clarke

MIX09-T71M - Going Inside Microsoft Silverlight: Exploring the Core CLR (Video, Slides)
Brandon Bray

MIX09-T72M - Making XML Really, Really Easy with Microsoft Visual Basic 9 (Video, Slides)
Alex Turner

MIX09-T73M - What's New for Microsoft Silverlight and Microsoft Windows Presentation Foundation (WPF) Developers in Microsoft Visual Studio 2010 (Video, Slides)
Mark Wilson-Thomas

MIX09-T74M - Protecting Against Internet Service Abuse (Video, Slides)
John Scarrow

MIX09-T75M - Five Killer Scenarios for the Windows Live Messenger Web Toolkit (Video, Slides)
Chris Parker

MIX09-T76M - Lighting Up Web and Client Applications with Microsoft Live Services (Video, Slides)
Gregory Renard

MIX09-T77M - Oomph: A Microformat Toolkit (Video, Slides)
Tim Aidlin

MIX09-T78M - Offline Network Detection in Microsoft Silverlight 3 (Video, Slides)
Peter Smith

MIX09-T79M - How'd they do it? Real App. Real Code. Two Weeks. Nothing but .NET (Video, Slides)
Scott Hanselman

MIX09-T80M - How I Learned to Stop Worrying and Love the Microsoft ADO.NET Entity Framework (Video, Slides)
Pablo Castro

MIX09-T81M - Using the Windows Azure Tools for Microsoft Visual Studio to Build Cloud Services (Video, Slides)
Jim Nakashima

MIX09-T82M - Introducing the Microsoft Web Platform (Video, Slides)
Lauren Cooney

MIX09-T83M - Automated User Interface (UI) Testing with Microsoft Visual Studio Team System 2010 (Video, Slides)
Brian Keller

MIX09-T84M - A Shot of Windows Live Messenger and a Pint of Microsoft Silverlight (Video, Slides)
Jordan Snyder

MIX09-T85M - Improving Mobile Experiences with the Microsoft Mobile Device Browser File (Video, Slides)
Chris Woods

MIX09-T86M - Search Engine Optimization (SEO) for Web Developers (Video, Slides)
Thomas Deml

MIX09-T87F - Microsoft Silverlight and Windows Presentation Foundation (WPF): Sharing Skills and Code (Video, Slides)
Jeff Wilcox

Enjoy watching MIX09 sessions offline!

החידושים ב- Internet Explorer 8

החידושים ב- Internet Explorer 8

 

תהנו!

MIX09 Bits Available on Microsoft Download Center

MIX09 Bits Available on Microsoft Download Center

Download MIX09 Bits MIX09 will be officially opened today with a keynote full of announcements about new releases and technologies. It seems that the bits are already available via Microsoft’s Download Center. This post will list all the latest bits released during this happy week of technology.

ASP.NET MVC 1.0

ASP.NET MVC 1.0 provides a new Model-View-Controller (MVC) framework on top of the existing ASP.NET 3.5 runtime.

Microsoft® Silverlight™ 3 Software Development Kit Beta 1

The Microsoft® Silverlight™ 3 Software Development Kit provides libraries and tools for developing Silverlight applications.

Silverlight 3 Tools

Add-on for Visual Studio 2008 SP1 for developing Silverlight 3 applications

PHP on Windows Training Kit

The PHP on Windows Training Kit includes a comprehensive set of technical content including demos and hands-on labs to help you understand how to build PHP applications using Windows, IIS 7 and SQL Server 2008.

ADO.NET Data Services v1.5 CTP1

This CTP is an early preview of the v1.5 features for ADO.NET Data Services. This CTP targets the Microsoft .NET Framework 3.5 SP1 and extends the functionality we provided in v1.0 of ADO.NET Data Services by providing additional features.

IIS Database Manager RC (x86) (x64)

IIS Database Manager allows you to easily manage your local and remote databases from within IIS Manager.

Live Framework Tools for Microsoft Visual Studio April 2009 CTP

The Live Framework Tools for Microsoft Visual Studio, in conjunction with the Live Framework SDK, extend Visual Studio 2008 to simplify the end-to-end development experience of creating Mesh-enabled Web Applications by making it trivial to create, build, run, debug and package these applications for the Live Desktop.

Live Framework SDK

The Live Framework SDK provides developers with documentation, samples, tools and APIs needed to build rich, connected, data-sharing applications using Live Services.

Enjoy!

WCF REST Starter Kit Preview 2 Available on Codeplex

WCF REST Starter Kit Preview 2 Available on Codeplex

WCF REST Starter Kit Preview 2

The WCF REST Starter Kit is a set of features, Visual Studio templates, samples and guidance that enable users to create REST style services using WCF. While the October release of the WCF REST Starter Kit focused on building server-side REST services, the Preview 2 release adds features to make client-side REST development easier. Among the new functionality included in Preview 2 is a new class that provides a staged pipeline model for requesting resources over the web. Using this new HTTP client class allows the developer to plug into the various stages of communication to handle custom authentication, caching, and fault handling outside of the client’s application logic.

The bits are available on CodePlex, and WCF Dev Center devoted to WCF REST capabilities http://www.msdn.com/wcf/rest was updated as well. It has links to the CodePlex project, overview documentation, a WCF REST White Paper, screencasts showing how to use the WCF REST Starter Kit, and links to resources on the Web for learning about REST.

Enjoy!

Building an Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview

Building an Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview

This is a step by step walkthrough of creating a new ADO.Net Data Service that support offline and synchronization with the recently released “Astoria Offline” alpha preview.

1. Create an ADO.Net Data Service that Allows Synchronization

Create a new standard Web Application project.

Add a new Entity Data Model. This time, make sure you select the [Offline Preview] ADO.Net Data Model template. Also notice that the extension of the file is now .edmxpreview instead of .edmx.

Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview

Continue with the wizard to create the data model. When the wizard completes, notice that the project has a new reference to System.Data.Entity.Preview.dll.

Add a new ADO.Net Data Service to the project, but make sure you select the [Offline Preview] ADO.Net Data Service template.

Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview

In the “Choose what to publish wizard” select Existing Entity Model. We could have started from this wizard from the beginning and create a new Entity Data Model from here.

Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview

Select the Entity Container that is part of the Entity Data Model you created earlier. In my sample it is BankEntities. Also notice the new “Enable Synchronization” checkbox – make sure it is checked.

Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview

Occasionally Connected ADO.Net Data Service with “Astoria Offline” PreviewThis adds several things to your project:

1. Several new references were added to the project: Microsoft.Data.Entities.Synchronization is the extension for Sync Services that enables entity Synchronization. System.Data.Services.Preview and System.Data.Services.Client.Preview are the ones that does the magic of Astoria Offline.

2. Two new SQL Scripts were added to the Entity Data Model (notice the Bank.create.sql and the Bank.drop.sql scripts in the image). These contain the DDL statements needed to change the database schema in order to support synchronization.

To actually enable synchronization, you’ll have to run the create script. To do that, open it in Visual Studio, and execute it against your database.

 Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview

3. The ADO.Net Data Service is added to the project and it is now empty. It is already connected the the entity data model, but right now does not support anything.

Set the access rules to the resources of the data model (in this sample I give full access to all the resources). In addition to that, tell the data service that it supports synchronization. To do that, cast the config object to IDataServiceConfiguration2 interface (new in this preview) and assign true to the AllowSynchronization property.

public class BankDataService : DataService<BankEntities>
{
  // This method is called only once to initialize service-wide policies.
  public static void InitializeService(IDataServiceConfiguration config)
  {
    config.SetEntitySetAccessRule("*", EntitySetRights.All);
 
    ((IDataServiceConfiguration2)config).AllowSynchronization = true;
  }
}

The ADO.Net Data Service is now ready to run. Press F5 to run it and play with the URL in the address bar to navigate through the resources.

2. Create a Occasionally Connected Client Application

Add a standard Windows Forms Application to the solution.

Add a Service Reference to the project and let visual studio discover the data service in your solution. When you add the reference Visual Studio will tell you that this ADO.Net Data Service is offline enabled.

Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview

Click Yes to enable offline scenarios in the client application.

A scary dialog should appear and tell you that an error has occurred. You can disregard it by pressing Cancel.

Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview

Adding this service reference has added not only the client side proxy for consuming this service, but also a local database with the database schema that matches your model.

Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview

Open the Data Sources window (Shift + Alt + D), and add a new data source of type Object. Select one of the object types in your client application that matches the model and click OK.

Drag the list of objects onto your form and let Visual Studio create all the necessary controls for navigating through the data.

Occasionally Connected ADO.Net Data Service with “Astoria Offline” Preview

Double click the window title to add an event handler to the form’s loaded event. In this event handler we will load the data from the Local Database. Add a new for the context, and in the Load event handler – use it to get the data and bind it to the binding source.

public partial class CustomersForm : Form
{
  public CustomersForm()
  {
    InitializeComponent();
  }
 
  BankEntities db;
 
  private void CustomersForm_Load(object sender, EventArgs e)
  {
    db = new BankEntities();
 
    var query = from c in db.Customers
                select c;
 
    this.customersBindingSource.DataSource = query;
  }
}

In order to support saving changes to the local database – enable the Save button on the Form and double click it to add an event handler. In the handler – simply apply the changes to the database.

private void customersBindingNavigatorSaveItem_Click(object sender, EventArgs e)
{
  db.SaveChanges();
}

Add another menu item the the binding navigator that will do the actual synchronization. For it click event handler – implement the synchronization logic:

Add a Microsoft.Data.Entities.Synchronization.DataServiceSyncProvider instance, and point to the the ADO.Net Data Service URL.

Create a Microsoft.Data.Entities.Synchronization.ObjectContextSyncProvider instance, which is the client-side wrapper for the BankEntities’s ObjectContext.

Create a new Microsoft.Synchronization.SyncOrchestrator instance and set the local and remote providers.

Then, do the actual synchronization. Notice that the sync operation sync between the service and the local database, therefore the data needs to be fetched from the local database again.

private void syncItem_Click(object sender, EventArgs e)
{
  DataServiceSyncProvider dsp = new DataServiceSyncProvider(
            new Uri("http://localhost:8474/BankDataService.svc/"), "global");
 
  ObjectContextSyncProvider esp = new ObjectContextSyncProvider(
      () => new BankEntities());
 
  SyncOrchestrator so = new SyncOrchestrator();
  so.RemoteProvider = dsp;
  so.LocalProvider = esp;
  so.Direction = SyncDirectionOrder.UploadAndDownload;
 
  so.Synchronize();
 
  // Load the data again
  CustomersForm_Load(null, null);
}

Finally, set the client application as the startup project and run it. Sync it for the first time to get the data from the remote server to your local database, and then sync it occasionally to upload changes and download changes to your client.

Enjoy!

ADO.Net Data Services Offline (“Astoria” Offline) – Alpha Preview

ADO.Net Data Services Offline (“Astoria” Offline) – Alpha Preview

ADO.Net Data Services Offline

While only a week ago, the Astoria team has announced ADO.NET Data Services v1.5 CTP1. Today, an alpha preview of Astoria Offline just became available.

ADO.NET Data Services v1.5 CTP1 is a tech preview of the next release of ADO.NET Data Services. It will initially target the .NET Framework 3.5 SP1 and Silverlight 2 platforms in a future version support the .NET Framework 4.0 platform.

“Astoria Offline” enables developers to add data-synchronization behavior between a client application and an ADO.NET Data Service, allowing the client to be offline without an interruption in use. The offline project is very early, and is still largely in the incubation stage therefore it is not currently committed to any upcoming product, and it is just a preview.

The two will be separate releases, and will initially be incompatible with each other (Offline will only work with ADO.NET Data Services 1.0).

Enjoy!