By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
425,929 Members | 634 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 425,929 IT Pros & Developers. It's quick & easy.

ASP.NET and COM+ produces error: Unable to complete async work

P: n/a
Hi,

We have an ASP.NET application that uses Server.CreateObject in the .aspx
pages to create (ASP) COM-components (we use the 'aspcompat="true"' option).

From the beginning we have seen COM+ errors in the event log and users being
hung or getting Internal Server Errors.

The error is:
The run-time environment has detected an inconsistency in its internal
state. This indicates a potential instability in the process that could be
caused by the custom components running in the COM+ application, the
components they make use of, or other factors. Error in
d:\nt\com\complus\src\comsvcs\threads\stawork.cpp( 167), hr = 80010108: Unable
to complete async work.

We have done some testing and as it turns out even just doing executing the
command Server.CreateObject('ADODB.Stream') and not doing anything with it,
causes this error if the page is called often enough (1 every 150.000
requests). So there must be something basic wrong here.

Does anybody else have seen this problem? Or does anybody have a clue as to
solve this?

Best regards,

Niels

Jul 31 '06 #1
Share this Question
Share on Google+
2 Replies


P: n/a
you probably not releasing the com objects explicity. asp.net sites should
do this rather than counting on the GC to do it for you. every time you use
a com object, when done, you should call Marshal.ReleasecomObject. ths also
means you should never use more than 1 dot when acessing a com object or you
can not release the temp object reference.

-- bruce (sqlwork.com)
"Niels" <Ni***@discussions.microsoft.comwrote in message
news:FB**********************************@microsof t.com...
Hi,

We have an ASP.NET application that uses Server.CreateObject in the .aspx
pages to create (ASP) COM-components (we use the 'aspcompat="true"'
option).

From the beginning we have seen COM+ errors in the event log and users
being
hung or getting Internal Server Errors.

The error is:
The run-time environment has detected an inconsistency in its internal
state. This indicates a potential instability in the process that could be
caused by the custom components running in the COM+ application, the
components they make use of, or other factors. Error in
d:\nt\com\complus\src\comsvcs\threads\stawork.cpp( 167), hr = 80010108:
Unable
to complete async work.

We have done some testing and as it turns out even just doing executing
the
command Server.CreateObject('ADODB.Stream') and not doing anything with
it,
causes this error if the page is called often enough (1 every 150.000
requests). So there must be something basic wrong here.

Does anybody else have seen this problem? Or does anybody have a clue as
to
solve this?

Best regards,

Niels

Jul 31 '06 #2

P: n/a
Hi Bruce,

Thanks for the tip. I'm running a test right now. I'm still seeing memory
going up, but that might be a leak in the COM component it self or is it not
possible to use the following construct?

<%@language="JScript" aspcompat="true"%>
<%
var oObject = Server.CreateObject("My.ComObject");
try
{
%>
<html>
do my stuff with oObject within .aspx page
</html>
<%
}
finally
{
System.Runtime.InteropServices.Marshal.ReleaseComO bject(oObject);
}
%>

By the way, I did not understand what you meant with "[...] you should never
use more than 1 dot when acessing a com object [...]". Can you explain this?

Thanks,

Niels

"bruce barker (sqlwork.com)" wrote:
you probably not releasing the com objects explicity. asp.net sites should
do this rather than counting on the GC to do it for you. every time you use
a com object, when done, you should call Marshal.ReleasecomObject. ths also
means you should never use more than 1 dot when acessing a com object or you
can not release the temp object reference.

-- bruce (sqlwork.com)
"Niels" <Ni***@discussions.microsoft.comwrote in message
news:FB**********************************@microsof t.com...
Hi,

We have an ASP.NET application that uses Server.CreateObject in the .aspx
pages to create (ASP) COM-components (we use the 'aspcompat="true"'
option).

From the beginning we have seen COM+ errors in the event log and users
being
hung or getting Internal Server Errors.

The error is:
The run-time environment has detected an inconsistency in its internal
state. This indicates a potential instability in the process that could be
caused by the custom components running in the COM+ application, the
components they make use of, or other factors. Error in
d:\nt\com\complus\src\comsvcs\threads\stawork.cpp( 167), hr = 80010108:
Unable
to complete async work.

We have done some testing and as it turns out even just doing executing
the
command Server.CreateObject('ADODB.Stream') and not doing anything with
it,
causes this error if the page is called often enough (1 every 150.000
requests). So there must be something basic wrong here.

Does anybody else have seen this problem? Or does anybody have a clue as
to
solve this?

Best regards,

Niels


Aug 1 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.