G
Guest
I am creating a webservice that uses an ADO.NET application. MSDTC is used to
manage the distributed transactions. When I open and close the database
multiple times within one single distributed transaction, then the 11th time
fails when the database is closed. I receive the
System.Runtime.InteropServices.COMException exception with HRESULT=0x80040201
and the message "An event was unable to invoke any of the subscribers".
After some investigation and discussions I found out that the SqlClient
tries to Advise to the distributed transaction's connection point when it
closes the connection. This is probably required to be informed about the
verdict of the distributed transaction. The connection point is hard-coded to
allow up to 10 connections (MSDTC limitation). I uses the normal connection
string, so connection pooling is enabled.
I guess this is a bug in the SqlClient. The same connection is used and it
is not I have created a sample application to reproduce the bug. It fails on
all environments that I have tested (Win2000 SP4, WinXP SP2 and Win2K3). All
have .NET Framework v1.1 SP1 installed and connect to a SQL Server 2000 SP3a
database.
Does anyone have more information about this problem? I am looking for a
fix, but PSS cannot help me without a KB article. I searched everywhere, but
I cannot find any information about this problem. I can send the sample
application that reproduces the problem on request.
Greetings,
Ramon de Klein
manage the distributed transactions. When I open and close the database
multiple times within one single distributed transaction, then the 11th time
fails when the database is closed. I receive the
System.Runtime.InteropServices.COMException exception with HRESULT=0x80040201
and the message "An event was unable to invoke any of the subscribers".
After some investigation and discussions I found out that the SqlClient
tries to Advise to the distributed transaction's connection point when it
closes the connection. This is probably required to be informed about the
verdict of the distributed transaction. The connection point is hard-coded to
allow up to 10 connections (MSDTC limitation). I uses the normal connection
string, so connection pooling is enabled.
I guess this is a bug in the SqlClient. The same connection is used and it
is not I have created a sample application to reproduce the bug. It fails on
all environments that I have tested (Win2000 SP4, WinXP SP2 and Win2K3). All
have .NET Framework v1.1 SP1 installed and connect to a SQL Server 2000 SP3a
database.
Does anyone have more information about this problem? I am looking for a
fix, but PSS cannot help me without a KB article. I searched everywhere, but
I cannot find any information about this problem. I can send the sample
application that reproduces the problem on request.
Greetings,
Ramon de Klein