Project DescriptionSilverlight 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.