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.
Each of those four pages do not inherit from the framework. They have this:
%@ Page Language="VB" AutoEventWireup="false"
<script runat="server">
Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
System.Threading.Thread.Sleep(1000)
LogAction("ShowHeaderStore.aspx Page_Load()")
End Sub
Public Sub LogAction(ByVal s As String)
Dim llSuccess As Boolean = False
Dim lnCounter As Integer = 0
Dim lnDelay As Integer = 250
Dim lnRetry As Integer = 8
For lnCounter = 1 To lnRetry
Try
Dim outFile As New IO.StreamWriter("d:\iis\level extreme\temp\log.txt", True)
outFile.WriteLine(String.Format("Id:{0} {1} at {2}", ID.ToString(), s, DateTime.Now.ToString()))
outFile.Close()
llSuccess = True
Exit For
Catch loError As Exception
If lnCounter < 8 Then
System.Threading.Thread.Sleep(lnDelay)
Continue For
End If
End Try
Next
End Sub
</script>
<Html runat="server" id="LXHtml">
<Head runat="server" id="LXHead"></Head>
<body runat="server" id="LXBody">
<asp:Literal ID="LXHeader" runat="server"></asp:Literal>
<form id="Form1" method="Post" runat="server" class=Form>
<asp:Literal ID="LXHtml2" runat="server"></asp:Literal>
</form>
<asp:Literal ID="LXFooter" runat="server"></asp:Literal>
</body>
</html>
After a recopmile, after a few tries, I was also able to simulate the freeze. Basically, the log went like this:
Id:1060ba0f-dd96-43a0-85bd-de139650e715 Application End at 7/13/2010 4:42:29 PM
Id:e7948f60-bd20-4295-8942-b4fd379aa2dc Application Start at 7/13/2010 4:42:32 PM
Id:00000000-0000-0000-0000-000000000000 Application Init at 7/13/2010 4:42:32 PM
Id:00000000-0000-0000-0000-000000000000 Application Init at 7/13/2010 4:42:32 PM
Id:00000000-0000-0000-0000-000000000000 Application Init at 7/13/2010 4:42:32 PM
Id:00000000-0000-0000-0000-000000000000 Application Init at 7/13/2010 4:42:33 PM
So, the application ended, started, launched the Init() for each click but froze.
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.