C
Chris Mullins
We're building some very high performance database applications, and are
trying to use all of the new Async ADO.Net 2.0 features.
The problem we're having is that we can't find a
SqlConnection.BeginOpen/EndOpen method. We can execute everything using the
BeginExecuteCommand, but without the BeginOpen on the connection we end up
with lots of deadlocked threads, all waiting for SqlConnection.Open.
We looked briefly into MARS for doing this, as that might be an option, but
we really prefer the more standard Async stuff as it maps much easier into
working with other database provides such as Oracle. To do this with MARS,
we would still need this BeginEnd methodology.
What's frustrating is that early Whidbey builds, and many old ADO.Net 2.0
articles, refer to these methods so they existed at one point. These methods
were obviously removed during the .NET 2.0 RTM process, which seems really
strange.
Any ideas how to work around this and actually do highly scalable I/O using
the Async infrastructure in ADO.NET 2.0?
trying to use all of the new Async ADO.Net 2.0 features.
The problem we're having is that we can't find a
SqlConnection.BeginOpen/EndOpen method. We can execute everything using the
BeginExecuteCommand, but without the BeginOpen on the connection we end up
with lots of deadlocked threads, all waiting for SqlConnection.Open.
We looked briefly into MARS for doing this, as that might be an option, but
we really prefer the more standard Async stuff as it maps much easier into
working with other database provides such as Oracle. To do this with MARS,
we would still need this BeginEnd methodology.
What's frustrating is that early Whidbey builds, and many old ADO.Net 2.0
articles, refer to these methods so they existed at one point. These methods
were obviously removed during the .NET 2.0 RTM process, which seems really
strange.
Any ideas how to work around this and actually do highly scalable I/O using
the Async infrastructure in ADO.NET 2.0?