ZeroC Labs: Ice for Silverlight
Ice for Silverlight is a run-time module that allows clients targeted at Microsoft's Silverlight platform to seamlessly communicate with Ice servers via an efficient on-the-wire protocol.

With Ice for Silverlight, you can create applications that provide rich Web content by using ZeroC's proven and elegant APIs to access remote servers directly from the browser.

Overview

Ice for Silverlight allows clients that target Microsoft's Silverlight platform to communicate with Ice servers directly from the client's web browser. A simple run-time module running inside the browser contains a light-weight version of the Ice run time and sends requests via HTTP to a bridge that runs in the web server. The bridge forwards the client's requests to the target Ice server(s) and returns results back to the client via HTTP.

Using Ice for Silverlight, you can combine the presentation capabilities of Silverlight with the distributed computing features of Ice to create true web applications.

Feature Highlights

  • No need for client-side software installation or configuration. All run-time support is downloaded to the client on demand.
  • Clients can access any Ice server anywhere, not just Ice servers running on the same machine as the web server that delivered the page.
  • Support for the complete Slice type system.
  • Efficient request forwarding without any unmarshaling and remarshaling of request data.
  • Client code uses the normal Ice for C# API, making it easy to re-use existing client logic for Silverlight.
  • Elegant support for asynchronous invocation via C# delegates.
  • No part of Ice for Silverlight requires application-specific knowledge, so there is no need to configure the bridge with Slice type information.

For more information and code examples, see "Every Cloud has a Silver Lining" in Issue 27 of Connections.

Download Ice for Silverlight

IceSL-0.1.0-bin.zip

The Ice for Silverlight binary distribution, which includes the following:

  • The Slice-to-Silverlight translator slice2sl.exe and preprocessor icecpp.exe.
  • The Ice for C# run time icecs.dll (which includes a patch required for Ice for Silverlight).
  • The Ice for Silverlight run time, icesl.dll.
  • An HTTP bridge for use with a web server.
  • A demo application that illustrates how to program with Ice for Silverlight.

IceSL-0.1.0.zip

The source distribution for Ice for Silverlight including tests and demo.

IceSL-trans-0.1.0.zip

The source distribution for building the Slice-to-Silverlight translator.

IceCS-3.2.1.Silverlight.patch

A patch for Ice for C# 3.2.1. You need this patch only if you do not use the binary distribution and want to build Ice for Silverlight from source.

Supported Platforms and Compilers

Ice for Silverlight runs on Windows XP and Windows Vista.

Ice for Silverlight requires Visual Studio 2008 and Silverlight 1.1 Alpha.

Ice for C# and slice2sl can be compiled with Visual Studio 2005 or 2008.

Copyright © 2008 ZeroC, Inc.