Level Extreme platform
Subscription
Corporate profile
Products & Services
Support
Legal
Français
Updating a DLL
Message
From
12/07/2010 13:34:58
 
 
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:
01472247
Views:
45
>To be truly sure you would need to make sure that the old instance was also not using any of your framework elements (eg had also only run the same page as above). Also I assume that your global.asax is derived directly from HttpApplication and contains nothing except the logging code that was added ?

I was able to simulate it twice under the same type of test, which is to have clicked on four items in my menu (four .aspx pages), which are not bound to the framework (I had removed the inheritance as well as the call in the Page_Load()). However, in order to simulate the situation, I had to recompile my DLL, but it was not used in the four clicks I did.

Global.asx does not derive from HttpApplication. I only have this in it:
@ Application Language="VB"

<script runat=server>

    Sub Application_PreRequestHandlerExecute(ByVal sender As Object, ByVal e As EventArgs)
        Dim loContext As Object = Context.Handler
        Dim loType As Object = loContext.GetType()
        Dim lcType As String = loType.ToString

        ' .vb and .config not accepted
        If lcType = "System.Web.HttpForbiddenHandler" Then
            Response.Redirect("Default.aspx")
        End If
        
    End Sub
   
</script>
What would be required to have it derived from HttpApplication? And, why would that be used in here?

>The only thing I came across is this:
>http://blogs.msdn.com/b/tess/archive/2009/09/22/asp-net-case-study-hang-when-loading-assemblies.aspx
>but it appears this was fixed in ASP.NET 2.0 SP1 which I assume you are using.

I have this problem on the server that the Windows Update is constantly asking for the same update to be done. So, even if I do it, it will still ask to update it after. I haven't been able to resolve that one. But, I doubt it is related. Because, I also have the same situation on my PC and all the updates are ok.

>I also came across a couple of vague suggestions that leaving debugging turned on in published code can cause odd behaviour but doubt it is relevant.

I have disabled "Enable the Visual Studio hosting process" in my Framework.dll. The other two related debug options were already turned off.

The debug pane is not enabled in LevelExtreme.dll. So, I cannot adjust any option in there as it is not even showing up.

The problem is still there. I was able to simulate the freeze.

>Have you checked the Windows event log to see if anything crops up there?

There is nothing in there about those situations.

>Do you have logging enabled on the web site (although I'm not sure whether it could tell us anything useful about this problem)

No, this is always turned OFF.

>Are you sure this problem can only occur when a DLL has been replaced. It may just be that the re-cycling is the only time the web site has a 'back-log' of requests which will cause it to spawn additional application instances. Try putting a 'System.Threading.Thread.Sleep(1000)' in the Page_Load and see if the problem arises *without* changing the DLL. Add a log item in the Init() so you can check that additional HttpApplication instances are created:
Public Overrides Sub Init()
>        LogAction("Application Init at " + DateTime.Now.ToString())
>        MyBase.Init()
>    End Sub
>
>If I get a chance I'll try this on a server here but I've a few busy days ahead so.....

I had that situation over the weekend where the Web site stopped responding. It may well be that a recycle happened and it caused the same situation. So, yes, I believe both situations are related. The problem seems to cause the refresh of the DLL situation and it may happen as well when it recycles.

I am not sure I understand the test with the Page_Load() because that is an event which is in the .aspx page and when it freezes, it never goes in there. We have seen that the Framework.dll PreInit() does not even kick in. So, the Page_Load() is not reached. Could you tell me more about that test?
Michel Fournier
Level Extreme Inc.
Designer, architect, owner of the Level Extreme Platform
Subscribe to the site at https://www.levelextreme.com/Home/DataEntry?Activator=55&NoStore=303
Subscription benefits https://www.levelextreme.com/Home/ViewPage?Activator=7&ID=52
Previous
Next
Reply
Map
View

Click here to load this message in the networking platform