DeepZoom demo download - Uploading images and the Auto DeepZoom xap generation
Monday, September 14th, 2009Click here to download the solution
Below is the logical architecture

Click here to download the solution
DeepZoom.sln - visual studio 2008 c# solution includes all the projects. Make sure you have the silverlight 3 tools for visual studi0 2008 installed(www.silverlight.net)
Solution contains the following projects
WebApplication Tier Project
DZWebSite Project - Sample Silverlight 3 App to upload image
DZWebSite.Web Project - Sample html/aspx page to host DZWebSite silverlight control
WCF Service
DataTransferService project - WCF Service which implements IStreamService ServiceContract and UploadFileMessage DataContract
Service Libraries(Windows Service or ConsoleApp)
Utility project - implements a syncqueue and a thread helper
DeepZoomService.Common project - implements DynamicService and FileSystemWatcherBase
DynamicService.cs - implements dynamic windows service using reflection and the configuration file
FileSystemWatcherBase.cs - abstract class for file system
DZService Project - library implements all the services, deepzoom image generation
Windows Service
DeepZoomWindowsService Project - .NET Windows Service functionality same as console app but part of windows SCM
DeepZoom Package
DeepZoom Project - silverlight control without xaml file, responsible for creating MultiScaleImage control and setting the source for deepzoom xml file. You can also inject code at runtime to change the zoom icon or other parameters
TestHarness
DeepZoomConsoleApp Project - Running services in a Console App(easier for debugging), no need to deploy. Instantiates the services as configured in app.config file, by default there are 2 services configured (ImageService and MaintenanceService)
DTServiceConsoleHost Project - test app for testing WCF service
READ ME
Please do the followings if you just want to run it after downloading
1. create a web site (http://localhost/streamsvs) with physical path set to “\DeepZoomService\DataTransferService\ ” to host WCF Upload Service
2. Create a website with physical path “DZWebSite.Web” to browse to Silverlight client app to upload a file
3. Download folder.zip for folder structure used by WCF/Windows/Console service to write and process uploaded images. By default, “C:\DeepZoomService\Customers\TestCustomer” is used by WCF service for uploaded files. “C:\DeepZoomService\Host\TestCustomer” is used by Windows/Console service to generate deepzoom package and the path for testpage
4. Create a site http://localhost/dzpreview/TestCustomer with physical path “C:\DeepZoomService\Host\TestCustomer”, this site is used to host generated deepzoom package in a test page. The link for test page is generated on silverlight client page once the file is uploaded.
5. Execute “\DeepZoomService\DeepZoomConsoleApp\bin\Debug\DeepZoomConsoleApp.exe” to execute the service to monitor the file system and to process the uploaded images to deepzoom package
The best way to start looking into it is by debugging DeepZoomConsoleApp project


