DevTeach 2007 -- Building Silverlight Applications Using .NET (Yair Alan Griver)

So I missed part 1 of this session and I walked into this one late,  so I’m feeling a little lost in the first demo of the slot.

Silverlight has it’s own networking stack that works through the browsers networking stack.  You have access to everything the browser does.  i.e. headers, cookies etc.  Alpha version only supports same domain access.

Silverlight supports XmlReader and XmlWriter.  Nothing else is currently being offered in an attempt to keep the download size below 4mb.  Linq to Xml will be added in the future (post Alpha).

Wow.  The Fantasy Baseball demo app that Alan is showing has fantastic graphics!  This could be sexy if used and not abused.

Creates a class library using VB.  Imports:

  • System.IO
  • System.Net
  • System.Windows.Browser <– new for Silverlight
  • System.Windows.Browser.Net <– new for Silverlight

This makes it a Silverlight class library.

Supports JSON in the Alpha.  WCF and SOAP support coming. 

Both Async and Sync web services supported in the Alpha.  General purpose RAD async support is coming.

Silverlight on the server

  • works with any webserver

  • only requirement is to server Silverlight files to the browser (i.e. xaml, assemblies, resources)* ASP.NET is a great platform for Silverlight apps

Linq in Alpha only supports querying in memory datasources.  XLinq and DLinq are coming.

Silverlight provides the ability to access the HTML DOM from Managed Code.  Available through System.Windows.Browser namespace

Silverlight allows you to access managed code from script.  Mark a property, method or event as Scriptable with a [Scriptable] attribute.  Don’t forget to mark the class in addition to the property, method or event.  You also have to register your object with

WebApplication.Current.RegisterScriptableObject(“SomeNameVisibleToJavaScript”, this)

Accessing from JavaScript

var control = document.getElementById(“SomeNameVisisbleToJavaScript”);


No intellisense in the Alpha version of the JavaScript functionality.  Is being looked at by the team.

There is no session state in a Silverlight app because it’s all running on the client.

HTML integration

  • persistent links
  • Fwd/Back integration

Simple type marshalling only in the Alpha.  Complex type support coming.

Mac debugging requires a proxy client be installed on the Mac before you startup the browser.

Platform checking:

string platform = HtmlPage.BrowserInformation.Platform;

if (platform.Contains(“Mac”))


JavaScript DOM support issues seem to be the only reason to do this.