I believe you are running into a known issue with ASP.NET, which is that LV's UI thread is either destroyed, not pumping messages or the like.
When LV's runtime engine is brought up, the thread that calls into the runtime can end up creating items that require messages from the OS message queue. This means that if that thread (in this case an ASP.NET thread) is terminated by the worker processes, LV will hang.
A workaround that you can use is to put the following type of code into your global.aspx code-behind file. This is C#, but it should be easy to translate to VB.NET if that is the language you are using...
...
[DllImport(@"C:\Inetpub\wwwroot\mywebapp\bin\mylv.dll", CharSet=CharSet.Ansi, ExactSpelling=true, CallingConvention=CallingConvention.Cdecl)]
public static extern int LVDLLStatus(IntPtr errStr, int errStrLen, IntPtr module);
static protected System.Threading.Thread t;
public static void ThreadProc()
{
LVDLLStatus(IntPtr.Zero, 0, IntPtr.Zero);
while(true)
{
System.Windows.Forms.Application.DoEvents();
}
}
public Global()
{
InitializeComponent();
}
static Global()
{
t = new System.Threading.Thread(new System.Threading.ThreadStart(ThreadProc));
t.Start();
}
...