DeepZoom demo download - Uploading images and the Auto DeepZoom xap generation

Click here to download the solution

Below is the logical architecture

dz

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

Share/Save/Bookmark

Tags: ,

2 Responses to “DeepZoom demo download - Uploading images and the Auto DeepZoom xap generation”

  1. ewan Says:

    Hello,

    Many thanks for sharing this - I’ll certainly be having a look :)

    Slightly off-beat question!!
    Is it likely I could run a simpler setup on a Unix box (upload image to personal website and generate .xap) - on dotGNU for example, any thoughts?

    No worries if my question a little stupid ;)

    Thx,
    Ewan

    [Reply]

    prashant Reply:

    @ewan, You can host the client on any operating system/web server as long as web server supports MIME type “Application..” but you can’t run the windows service or wcf service on unix box as it is. I have not spent much time with mono/moonlight to comment on portability. :-)

    Thank You

    [Reply]

Leave a Reply

Akismet - Spam Blocked
September 2009
M T W T F S S
« Aug   Dec »
 123456
78910111213
14151617181920
21222324252627
282930  
Categories