Here is my presentation at last week’s PDC conference about what’s new in networking and web services in Silverlight 4 Beta.

Get Microsoft Silverlight

At the beginning of the talk I refer to WCF RIA Services, which is not covered in detail in the talk itself, but it is covered in these two other PDC talks:

For my presentation I put together an application that highlights some of the coolest web services features available in Silverlight 4 Beta. The app is intended to be used by travel agents and helps with their day-to-day work: it displays (fake) real-time price information for flight tickets, it can pull up real-time information about the status of a flight, it supports a chat feature so travel agents can talk to each other, and it supports sharing a set of tasks from Sharepoint.

The app showcases the following set of features:

  • ClientHttp networking stack in SL3/SL4 to access a public REST service (jump to 11:52 into the above video)
  • WCF Data Services client to access the built-in Sharepoint 2010 WCF Data Service and collaborate on a list of tasks (jump to 18:35)
  • WCF to build a duplex TCP-based chat application (jump to 37:08)

Here are the prerequisites and setup steps needed to get the app running:

  • Visual Studio 2010 Beta 2 and Silverlight 4 Beta
  • To get the Bing flight information feature to work, you need to create a Bing AppId and then update the appId variable in the code, otherwise the app will not work
  • IIS installed on the machine and configured to support TCP activation of web services
    • WCF non-HTTP activation is installed
    • in the IIS Default Web Site, configure the net.tcp binding type with binding information 4502;*.
    • you need to open the project in VS running with Administrator permissions. When you do that it will offer to create a new application called TravelAgentConsole, which you should agree to. Once the application is created, you need to go to the IIS manager, find that application, and add net.tcp to the list of enabled protocols.
    • remember to start PolicyServer.exe and leave it running to make the box accessible over TCP
  • (optional) SharePoint Server 2010
    • if you don’t have this installed, the tasks collaboration feature of the app will not work. The app will still build and run for the most part.
    • you need to have a new website running on http://localhost:81
    • you need to place the clientaccesspolicy.xml file provided with the sample at http://localhost:81/clientaccesspolicy.xml
    • inside the website you need to create a new Tasks list called “Travel Tasks"

After all this, here is the link to actually download the code.