dotnet interop:
We have a VB.Net web application that works very well on Framework 1.0. This application uses pre-existing VC++ COM objects registered in COM+. Few months back the system administrator installed the Framework 1.1 and the application started crashing after few calls. Since we did not use any of 1.1 feature we decide to rollback the 1.1 installation and the application continued to work nicely. Now we want to move the web server to new set of web servers having Win2k3 Web Edition. The W2k3 has 1.1 installed and so the application keeps crashing and we cannot use it. As such the whole application works fine but it crashes after few requests have been served. This happens even when there is only one user and we can crash the application after few requests. The crash point is not single file or single line. It happens anywhere in the application. The only common thing we could notice is that it happens nears creation of the COM method. The COM objects have been in use even before this application and are stable. Also the same application works perfectly with Framework 1.0. Any ideas
The objects are created and destroyed as ..
Dim oMyCOMObject As New MyCOMObjectLib.MyCOMObjectClass(
Dim oRs as Objec
...
...
...
Call oMyCOMObject.Method1(
oRs = oMyCOMObject.Method2()
...
...
...
oMyCOMObject = Nothin
Most of the method return ADO recordset as return parameter
The few stack traces ..
[COMException (0x80004005): Unspecified error
Microsoft.VisualBasic.CompilerServices.LateBinding.InternalLateSet(Object o, Type& objType, String name, Object[] args, String[] paramnames, Boolean OptimisticSet, CallType UseCallType) +196
Microsoft.VisualBasic.CompilerServices.LateBinding.LateSet(Object o, Type objType, String name, Object[] args, String[] paramnames) +2
MyApplication.NET.Station.GetStationDetails(
MyApplication.NET.Station..ctor(String ConnectionString, String UserId, Int32 _FormatId, Boolean _ReportingFormatOnly, Boolean _ForGivenPersonOnly
MyApplication.NET.Middle.BindData(
MyApplication.NET.Middle.Page_Load(Object sender, EventArgs e
System.Web.UI.Control.OnLoad(EventArgs e) +6
System.Web.UI.Control.LoadRecursive() +3
System.Web.UI.Control.LoadRecursive() +9
System.Web.UI.Control.LoadRecursive() +9
System.Web.UI.Page.ProcessRequestMain() +73
[NullReferenceException: Object reference not set to an instance of an object.
System.RuntimeType.InvokeDispMethod(String name, BindingFlags invokeAttr, Object target, Object[] args, Boolean[] byrefModifiers, Int32 culture, String[] namedParameters) +
System.RuntimeType.InvokeMember(String name, BindingFlags invokeAttr, Binder binder, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters) +47
Microsoft.VisualBasic.CompilerServices.VBBinder.InvokeMember(String name, BindingFlags invokeAttr, Type objType, IReflect objIReflect, Object target, Object[] args, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParameters) +33
Microsoft.VisualBasic.CompilerServices.LateBinding.LateIndexGet(Object o, Object[] args, String[] paramnames) +83
MyApplication.NET.StationReport.Init(
MyApplication.NET.StationReport.get_AddsStatus(
MyApplication.NET.MyApplicationCommon.GetReportStatusMessage(Int32 FormatId, Int32 NumberOfTracks, AddsOrReport ForAddsOrReport
MyApplication.NET.MyPage.BindReportStatus(Int32 nNumberOfAdds
MyApplication.NET.MyPage.BindData(String SortExpresion
MyApplication.NET.MyPage.Page_Load(Object sender, EventArgs e
System.EventHandler.Invoke(Object sender, EventArgs e) +
System.Web.UI.Control.OnLoad(EventArgs e) +6
System.Web.UI.Control.LoadRecursive() +3
System.Web.UI.Page.ProcessRequestMain() +73
Thanks