Welcome to MSDN Blogs Sign in | Join | Help

Silverlight for the Enterprises - where are my dlls?

I recently spoke to a customer who wanted to know if Silverlight extracts the dlls (from the XAP) and stores them in the temp directories before building the type system in memory. The reason for the question was that they have a monitoring system that looks for patterns of unwanted files (e.g. *dll) and gets rid of them from directories except from the well known directories. When Silverlight downloads XAPs, it takes advantage of the browser cache in storing the packages. 

Once a package is located ( through download or from the cache), Silverlight runtime streams the IL code out of the XAP and constructs the assembly in memory. From there, construction of type system is straight forward.

So, as of beta1, Silverlight 2 will not leave any dlls persistently on the disk.

Cheers,

Hanu

Published Monday, May 19, 2008 5:18 PM by hanuk

Comment Notification

If you would like to receive an email when updates are made to this post, please register here

Subscribe to this post's comments using RSS

Comments

# Discount Airline Tickets » Silverlight for the Enterprises - where are my dlls?

Tuesday, May 20, 2008 1:13 PM by Jeff Handley

# re: Silverlight for the Enterprises - where are my dlls?

With Silverlight using the browser cache, the DLLs could be left on disk within the temporary internet files folder, correct?

Tuesday, May 20, 2008 1:56 PM by hanuk

# re: Silverlight for the Enterprises - where are my dlls?

You will only see .XAP file on the file system (browser cache). At run time the DLLs will be streamed into memmory and go away once you close the browser. As of beta1, they won't leave any footprint on disk.  

Saturday, May 24, 2008 10:31 AM by Eloff

# re: Silverlight for the Enterprises - where are my dlls?

Unless you load the .dlls dynamically, i.e. separately from the .xap. Then I imagine that they will be in the cache.

Monday, June 09, 2008 3:58 AM by unknown

# re: Silverlight for the Enterprises - where are my dlls?

How can I load .dlls dynamically.

Friday, June 13, 2008 4:58 PM by hanuk

# re: Silverlight for the Enterprises - where are my dlls?

You can't load a random .NET dll. If they DLL had been compiled to Silverlight runtime, it will have to be included into the XAP package. Once it is in the package, you can stream the dll into Silvelright applicaiton and use reflection to instantiate the types. See my other post on "Application Partitioning" for this technique.

Sunday, June 29, 2008 11:21 AM by Thomas Holloway

# re: Silverlight for the Enterprises - where are my dlls?

Actually, you can load just about any random DLL. Check out my post about it on my blog, http://www.theadvents.com/?p=11

Sunday, June 29, 2008 11:24 AM by Thomas Holloway

# re: Silverlight for the Enterprises - where are my dlls?

My question is, does Silverlight run in a single AppDomain? If that were true then a dll could be reused across several applications, which could reduce some overhead.

Leave a Comment

(required) 
required 
(required) 
 
Page view tracker