473,229 Members | 1,850 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,229 software developers and data experts.

Question on article by Scott about "Shadow copy of an assembly"

Hello All,

I just finished reading an interesting article by Scott about App Domains:
http://odetocode.com/Articles/305.aspx

Scott, I have a question about the section "Shadow Copies and Restarts". You
talked about "Drain Stopped" and "Shadow Copy" concepts in this article. I
maintain a web application which is in production. Every morning the way we
build the project is using Visual Studio's IDE to use "Build ->
Build<proj-name>" which basically builds all the files and copies the DLL
into the bin directory. Now during this build process, users are still using
our web application and sometimes they notice a weird error because of the
build process.

Now according to your article, if we simply copy the DLL into the bin
directory without building the project while users are using the machine can
we still take advantage of "Drained Stopped" behavior of AppDomains?

Why are my users noticing the weird errors if you think that App Domains use
the "Drain Stopped" phenomenon?

What are the differences between using IDE's build to build the web app
while users are using the web app VS Shadow copy?

Thanks a bunch
Feb 2 '06 #1
2 2210
Building a site using the IDE is not the same as "shadow copy". You still
need to provide the updated DLL to the website. For instance, suppose that
some bug was fixed, you still need to compile the assemblies in the IDE.
Then you would copy the DLL to the bin folder of your production website.

"Shadow copy" simply means that IIS will copy the assembly into a temp
location. Therefore the actual assembly running is not the one in the bin
folder but someone else, thereby preventing locks from happening.

I am not sure what "weird" issues your customers are having, but there are
some consequences the way I understand it to reloading the AppDomain. It is
my understanding that the sessions and other cross-post persistent
information is cleared when an AppDomain recycles. The AppDomain can
recycle in other situations as well like when the server determines that too
much memory is being used and other issues. It might recycle the AppDomain
to clear things like memory leaks.
"Diffident" <Di*******@discussions.microsoft.com> wrote in message
news:11**********************************@microsof t.com...
Hello All,

I just finished reading an interesting article by Scott about App Domains:
http://odetocode.com/Articles/305.aspx

Scott, I have a question about the section "Shadow Copies and Restarts".
You
talked about "Drain Stopped" and "Shadow Copy" concepts in this article. I
maintain a web application which is in production. Every morning the way
we
build the project is using Visual Studio's IDE to use "Build ->
Build<proj-name>" which basically builds all the files and copies the DLL
into the bin directory. Now during this build process, users are still
using
our web application and sometimes they notice a weird error because of the
build process.

Now according to your article, if we simply copy the DLL into the bin
directory without building the project while users are using the machine
can
we still take advantage of "Drained Stopped" behavior of AppDomains?

Why are my users noticing the weird errors if you think that App Domains
use
the "Drain Stopped" phenomenon?

What are the differences between using IDE's build to build the web app
while users are using the web app VS Shadow copy?

Thanks a bunch

Feb 2 '06 #2

Peter,

Thanks for your reply but I have a question. Earlier in my post when I said
"build" I was referring to the fact that I usually open the production web
app's csproj file using the "File > Open From Web" option and then build the
project while users are using it. Bin directory in my case would be the App
Base's bin directory as I am building the project on server.

So in my case does "Build" cause the AppDomain to reload?

Why would it reload the AppDomain if IIS shadow copied my old assembly?

Thanks for your clarification.

"Peter Rilling" wrote:
Building a site using the IDE is not the same as "shadow copy". You still
need to provide the updated DLL to the website. For instance, suppose that
some bug was fixed, you still need to compile the assemblies in the IDE.
Then you would copy the DLL to the bin folder of your production website.

"Shadow copy" simply means that IIS will copy the assembly into a temp
location. Therefore the actual assembly running is not the one in the bin
folder but someone else, thereby preventing locks from happening.

I am not sure what "weird" issues your customers are having, but there are
some consequences the way I understand it to reloading the AppDomain. It is
my understanding that the sessions and other cross-post persistent
information is cleared when an AppDomain recycles. The AppDomain can
recycle in other situations as well like when the server determines that too
much memory is being used and other issues. It might recycle the AppDomain
to clear things like memory leaks.
"Diffident" <Di*******@discussions.microsoft.com> wrote in message
news:11**********************************@microsof t.com...
Hello All,

I just finished reading an interesting article by Scott about App Domains:
http://odetocode.com/Articles/305.aspx

Scott, I have a question about the section "Shadow Copies and Restarts".
You
talked about "Drain Stopped" and "Shadow Copy" concepts in this article. I
maintain a web application which is in production. Every morning the way
we
build the project is using Visual Studio's IDE to use "Build ->
Build<proj-name>" which basically builds all the files and copies the DLL
into the bin directory. Now during this build process, users are still
using
our web application and sometimes they notice a weird error because of the
build process.

Now according to your article, if we simply copy the DLL into the bin
directory without building the project while users are using the machine
can
we still take advantage of "Drained Stopped" behavior of AppDomains?

Why are my users noticing the weird errors if you think that App Domains
use
the "Drain Stopped" phenomenon?

What are the differences between using IDE's build to build the web app
while users are using the web app VS Shadow copy?

Thanks a bunch


Feb 2 '06 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

2
by: Nick Jacobson | last post by:
This question is with regard to the * operator as used for sequence concatenation. There's the well-known gotcha: a = ] b = a*3 b = 4 print b
0
by: Tom Clement | last post by:
Hi folks. I have a question about "Copy Local". We have quite a few projects in our solution (35) and some of them reference the very large "Microsoft.mshtml.dll". I was wondering why leave...
27
by: Shagy | last post by:
Greetings, I've been trying to find an equivant c funtion to the c++ copy function. Description: copy(char *cstring, size_t count, size_t offset); Copies "count" characters from a C-style...
2
by: Kevin Frey | last post by:
Is it possible to get c# perform a using statement where the namespace for the using is not specified literally but instead comes from a variable, a token, a predefined value etc. We have...
0
by: Diffident | last post by:
Hello All, I am trying to do a "build" of all files of my web app on my local machine. I know that there is an "aspnet_wp.exe" running forever on my machine and to my knowledge each web app is...
2
by: Nils Magnus Englund | last post by:
Hello, In the root of a web site (C:\Inetpub\wwwroot), I have a .NET 1.1 application. I've just added a .NET 2.0 application to another directory under the web site root...
3
by: GMiller | last post by:
I have deployed a .NET 2 application on a customer's system. I'm trying to use the .NET 1.1 configuration tool to load the assembly but I always get an 'unable to load assembly" message. What is...
4
by: Waldy | last post by:
Hi there, does anyone know the cause of this problem. When I press F5 to debug a C# web application, I get an error message that begins "Cannot create/shadow copy " then various different file...
1
by: mrpetegroups | last post by:
Hi - Problem: The file below has become zero length \winnt\assembly\GAC_MSIL\system.deployment\2.0.0.0_b03f5f7f11d50a3a \system.deployment.dll Details follow ... I've been programming...
0
by: VivesProcSPL | last post by:
Obviously, one of the original purposes of SQL is to make data query processing easy. The language uses many English-like terms and syntax in an effort to make it easy to learn, particularly for...
3
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 3 Jan 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). For other local times, please check World Time Buddy In...
0
by: jianzs | last post by:
Introduction Cloud-native applications are conventionally identified as those designed and nurtured on cloud infrastructure. Such applications, rooted in cloud technologies, skillfully benefit from...
0
by: abbasky | last post by:
### Vandf component communication method one: data sharing ​ Vandf components can achieve data exchange through data sharing, state sharing, events, and other methods. Vandf's data exchange method...
2
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 7 Feb 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:30 (7.30PM). In this month's session, the creator of the excellent VBE...
0
by: fareedcanada | last post by:
Hello I am trying to split number on their count. suppose i have 121314151617 (12cnt) then number should be split like 12,13,14,15,16,17 and if 11314151617 (11cnt) then should be split like...
0
Git
by: egorbl4 | last post by:
Скачал я git, хотел начать настройку, а там вылезло вот это Что это? Что мне с этим делать? ...
0
by: MeoLessi9 | last post by:
I have VirtualBox installed on Windows 11 and now I would like to install Kali on a virtual machine. However, on the official website, I see two options: "Installer images" and "Virtual machines"....
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.