Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Updating a DLL
Message
From
14/07/2010 07:55:54
 
 
To
13/07/2010 15:48:36
General information
Forum:
ASP.NET
Category:
Other
Title:
Environment versions
Environment:
VB 9.0
OS:
Windows XP SP2
Network:
Windows 2003 Server
Database:
MS SQL Server
Application:
Web
Miscellaneous
Thread ID:
01460478
Message ID:
01472457
Views:
40
>Here is more info. I have been able to simulate exactly what you have.
>
>Here is a log:
>
>Id:ee160f98-adca-4479-a0b6-66f83384033f Application Start at 7/13/2010 4:35:32 PM
>Id:00000000-0000-0000-0000-000000000000 Application Init at 7/13/2010 4:35:32 PM
>Id:00000000-0000-0000-0000-000000000000 Application Init at 7/13/2010 4:35:32 PM
>Id:00000000-0000-0000-0000-000000000000 Application Init at 7/13/2010 4:35:32 PM
>Id:00000000-0000-0000-0000-000000000000 Application Init at 7/13/2010 4:35:32 PM
>Id:__Page ShowHeaderStore.aspx Page_Load() at 7/13/2010 4:35:36 PM
>Id:__Page ViewPageSitePrivacyPolicy.aspx Page_Load() at 7/13/2010 4:35:41 PM
>Id:__Page ViewPageSiteSizeChart.aspx Page_Load() at 7/13/2010 4:35:41 PM
>Id:__Page ViewPageSiteContactUs.aspx Page_Load() at 7/13/2010 4:35:41 PM
>Id:__Page ShowHeaderStore.aspx Page_Load() at 7/13/2010 4:35:55 PM
>Id:__Page ViewPageSiteSizeChart.aspx Page_Load() at 7/13/2010 4:35:58 PM
>Id:__Page ViewPageSiteContactUs.aspx Page_Load() at 7/13/2010 4:36:00 PM
>Id:__Page ViewPageSitePrivacyPolicy.aspx Page_Load() at 7/13/2010 4:36:02 PM
>Id:__Page ShowHeaderStore.aspx Page_Load() at 7/13/2010 4:36:16 PM
>Id:__Page ViewPageSiteSizeChart.aspx Page_Load() at 7/13/2010 4:36:16 PM
>Id:__Page ViewPageSiteContactUs.aspx Page_Load() at 7/13/2010 4:36:17 PM
>Id:__Page ViewPageSitePrivacyPolicy.aspx Page_Load() at 7/13/2010 4:36:17 PM
>Id:__Page ShowHeaderStore.aspx Page_Load() at 7/13/2010 4:36:28 PM
>Id:__Page ViewPageSiteSizeChart.aspx Page_Load() at 7/13/2010 4:36:29 PM
>Id:__Page ViewPageSiteContactUs.aspx Page_Load() at 7/13/2010 4:36:29 PM
>Id:__Page ViewPageSitePrivacyPolicy.aspx Page_Load() at 7/13/2010 4:36:29 PM
>Id:__Page ShowHeaderStore.aspx Page_Load() at 7/13/2010 4:36:43 PM
>Id:__Page ViewPageSiteSizeChart.aspx Page_Load() at 7/13/2010 4:36:43 PM
>Id:__Page ViewPageSiteContactUs.aspx Page_Load() at 7/13/2010 4:36:43 PM
>Id:__Page ViewPageSitePrivacyPolicy.aspx Page_Load() at 7/13/2010 4:36:44 PM
>Id:__Page ShowHeaderStore.aspx Page_Load() at 7/13/2010 4:36:59 PM
>Id:__Page ViewPageSiteSizeChart.aspx Page_Load() at 7/13/2010 4:37:00 PM
>Id:__Page ViewPageSiteContactUs.aspx Page_Load() at 7/13/2010 4:37:00 PM
>Id:__Page ViewPageSitePrivacyPolicy.aspx Page_Load() at 7/13/2010 4:37:00 PM
>Id:ee160f98-adca-4479-a0b6-66f83384033f Application End at 7/13/2010 4:37:14 PM
>Id:9d890c58-930a-45c1-821e-6623c2965ade Application Start at 7/13/2010 4:37:18 PM
>Id:00000000-0000-0000-0000-000000000000 Application Init at 7/13/2010 4:37:18 PM
>Id:__Page ShowHeaderStore.aspx Page_Load() at 7/13/2010 4:37:21 PM
>Id:__Page ViewPageSiteSizeChart.aspx Page_Load() at 7/13/2010 4:37:29 PM
>Id:__Page ViewPageSiteContactUs.aspx Page_Load() at 7/13/2010 4:37:32 PM
>Id:__Page ViewPageSitePrivacyPolicy.aspx Page_Load() at 7/13/2010 4:37:34 PM
>
>At first, after a new compile, I was able to have the Init() to be executed for each, because I clicked fast and each page have a 1 second timeout. Then, even if I was clicking fast, I was not able to get a Init() after. The Page_Load() was the only log.

>Then, I forced a new compile. So, the application ended, started, went into the Init() and the Page_Load() for the four page I clicked. This time, I only got a Init() on the first page because I simply clicked one at a time.

As explained earlier additional instances of HttpApplication will only be created if there are an insufficient number in the pool. Regardless of how fast you click you will eventually end up with enough instances and at that point, obviously, you will see no more Init()'s since existing ones will be available for re-use.

>So, there is something in my environment that causes this after the Init() has been done. Even if my four pages, adjusted for the test, do not inherit from the framework, in order for a recompile to apply, I still have to force a compile in the DLL. That will make use the End() and Start() events fire. But, they are not used in the test. But, that is the only way to simulate the situation.
>
>In the Bin directory, I have Framework.dll, LevelExtreme.dll and three interop files needed by the framework.
>
>BTW, when I force a compile in the DLL, sometimes I compile the framework, which forces me to compile LevelExtreme.dll after, otherwise I will have the culture error message. Some other times, I simply compile LevelExtreme.dll as is. But, in both cases, I can simulate the problem easily. So, it is not about a compile or a change in the base class DLL or to the client DLL specifically.

I've just tested replacing DLL's on a live site. As far as I can tell everything works as advertised. On the very first hit after the DLLs are replaced the Application_Start fires and the new version handles that and all subsquent hits. The old process completes any pending requests before it shuts down. This works when I am generating a stream of hits in quick succession whether or not the request handling takes some time but in the latter case, as above, the old process remains active until they are completed with the new process running in parallel.

I'm still not clear whether you have got your site to fail in circumstances other than when replacing DLLs (e.g under heavy load)?

But if you're not overriding any methods or handling any events in Global.asax it's hard to see how the way in which the process is launched and HttpApplication instances are created could be affected - i.e if you are just requesting a standard aspx page your framework doesn't enter into the picture.
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform