Project Description
Silverlight COM Toolkit allows for querying data sources supported by the ADO API such as SQL Server. File and directory creation, deletion, manipulation outside isolated storage, registry access, and more, all from the client.

About Silverlight COM Toolkit

Given the introduction of COM interop in SL4 this project aims to wrap useful functionality when running on the Windows platform and exposing them as managed objects.

For instructions how to use please refer to the documentation section.

Execute client side query's against data sources support by ActiveX Data Objects API.

By using objects from the ADODB COM Objects, client-side querys can be executed against data sources available from the client, wrappers for ADODB.Connection, ADODB.Command, ADODB.Recordset etc. are found in the namespace ComToolkit.Data.

Issues

  • Large record sets returned by a query can take a long time to read.

Workarounds

  • Use paging.
  • Query's can return XML so by using ExecuteScalar an XML string could be returned using something like FOR XML (in Sql Server) the result could then be deserialized or Processed using for example XDocument.

Unrestricted file access

By using a combination of Scripting.FileSystemObject and the ADODB.Stream COM objects, Files and folders can be created, modified, and deleted outside Isolated Storage. You will find wrappers for this in the namespace ComToolkit.IO.

Issues

  • Listing files and directories are not yet possible, it appears that dynamic handles the FolderObject.SubFolders & FolderObject.Files differently, Silverlight can not enumerate the collection whereas it works as expected in standard .NET.

Demo

This demo does not cover all the functionality available but might give you an idea of what can be done.
To get up and running quickly you can place the countrylist.csv in the "C:\ComToolkit\" directory to be used as your data source, and the connection string will be setup for you. if you want to try out other data sources connectionstrings.com is a great reference.
(Note: it has to be run out of browser with elevated trust, have the SL4 runtime installed and running Windows).



Don't forget to right-click -> Install otherwise it will not run as expected.

Contribute

If you are interested in helping out or you have some great idea that you would like to see in the toolkit, send me an email or contact me on LinkedIn.

Last edited Jan 17, 2010 at 1:56 AM by mlarsson, version 25