An AppDomain is the managed equivalent of a process. Over time IIS will likely unload your AppDomain and start a new one. I don't recall how long IIS keeps an AppDomain around before it recycles it. The default may be forever. The settings are in machine.config though.
-- Brent Rector, .NET Wise Owl Demeanor for .NET - an obfuscation utility http://www.wiseowl.com/Products/Products.aspx -----Original Message----- From: franklin gray [mailto:[EMAIL PROTECTED]] Sent: Friday, May 31, 2002 8:04 AM To: [EMAIL PROTECTED] Subject: Re: [ADVANCED-DOTNET] Singleton pattern The remaining question I have is, What exactly is an AppDomain? If my object is created from a Web Service call, is the Web Service the AppDomain? Does this imply that when the Web Service call is finished, the AppDomain is no longer "Live"? The reason I ask is because I am using this object like a in memory DB. A Web Service call adds to a collection and another Web Service call removes from the collection. A bunch of these calls is the only connection to the object. I have a bug in the system and I haven't had the time yet to figure it out so I am wondering if this is the problem (I don't think it is though). -----Original Message----- From: Bill Conroy [mailto:[EMAIL PROTECTED]] Sent: Friday, May 31, 2002 8:02 AM To: [EMAIL PROTECTED] Subject: Re: [ADVANCED-DOTNET] Singleton pattern This is Bill, and I'm quite sure I'm right. Actually, I'm positive. And Bajaj is correct also. It's all about the static and setting it means there will be a root reference for as long as the AppDomain is "live", thus it will not be GC'd. SuppressFinalize only ensures that the Finalize method will NOT be called for that object. That is it. Nothing more, nothing less. -bc On Fri, 31 May 2002 11:37:52 +0200, Jonni Faiga <[EMAIL PROTECTED]> wrote: >Hi, >Bills conclusion that SuppressFinalize is not required implies that >Samir Bajaj's statement regarding has Singleton code in >http://msdn.microsoft.com/msdnmag/issues/01/07/patterns/patterns.asp >is that "all you need to do in the C# version is make sure you have a >live reference to the singleton object for as long as it's needed." is >incorrect. > > >btw. Any idea why the Rational XDE generated code for a singleton has a >public constructor? > >public class Singleton >{ > public void singletonOperation() > { > } > > public static Singleton getUniqueInstance() > { > if(uniqueInstance == null) > { > uniqueInstance = new Singleton(); > } > return uniqueInstance; > } > > public System.Object getSingletonData() > { > return singletonData; > } > > public Singleton() > { > } > > static Singleton uniqueInstance; > System.Object singletonData; >} > >You can read messages from the Advanced DOTNET archive, unsubscribe >from Advanced DOTNET, or >subscribe to other DevelopMentor lists at http://discuss.develop.com. You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com. You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com. You can read messages from the Advanced DOTNET archive, unsubscribe from Advanced DOTNET, or subscribe to other DevelopMentor lists at http://discuss.develop.com.