IIS7 - only serves up one page at a time. It's a making me crAzY!

后端 未结 8 1268
梦如初夏
梦如初夏 2020-12-05 08:25

Situation: Classic ASP application, using a custom Application Pool. Default settings.

On some IIS7 machines, IIS decides to serve only one page at a time.

8条回答
  •  小蘑菇
    小蘑菇 (楼主)
    2020-12-05 08:35

    Are you sure you don't have a dependency in your code which is causing the deadlock. I've seen this before where logging, sql connections etc creates a dependency. Use perfmon and check the hard disk read/write queue, memory read/write queue to see if things are backing up.

    I would highly recommend Tess Ferrandez's (ASP.NET Escalation Engineer - Microsoft) blog for lots in insights and way to find out what is happening. Tess has forgotten more about this stuff than most people will ever know.

    I think your problem is not IIS related but something in your app, probably in your ActiveX component. Make sure you clean up after your ActiveX component. Here's a piece of code I use to clean up after using Excel (Another Com component). Remember Com is not managed.

        Private Sub ShutDownExcel()
        If objExcel IsNot Nothing Then
            objExcel.DisplayAlerts = True
            objExcel.Quit()
            System.Runtime.InteropServices.Marshal.ReleaseComObject(objExcel)
            objExcel = Nothing
        End If
    
        ' Clean up memory so Excel can shut down. 
        GC.Collect()
        GC.WaitForPendingFinalizers()
    
        ' The GC needs to be called twice in order to get the 
        ' Finalizers called - the first time in, it simply makes 
        ' a list of what is to be finalized, the second time in, 
        ' it actually the finalizing. Only then will the 
        ' object do its automatic ReleaseComObject. 
        GC.Collect()
        GC.WaitForPendingFinalizers()
    End Sub
    

    Hope this helps.

提交回复
热议问题