Hi,
I'm using NH 2.1.2GA and am attempting to reproduce the leaky
connection bug with Transaction Scope. I'm looking at this as our
existing architecure doesn't use the recommended pattern of
TransactionScope -> Open Session -> Start NH transaction, and although
we get no issues, I've always known it's something we'd have to fix.
I'm trying to reproduce the error using the blog entry provided by
Davy Brion, i.e.:
[Test]
public void Make_NH_Connections_Leak()
{
var counter = 101;
for (int i = 0; i < counter; i++)
{
using (var scope = new
TransactionScope(TransactionScopeOption.Required))
{
using (var session = this.OpenSession())
{
var blah =
session.CreateCriteria<DomainClass>().List<DomainClass>();
}
}
}
}
The thing is... this doesn't fail. The only way i can get it to fail
is if I maintain a reference to TransactionScope in a list, i.e. I
keep 100 of them active. At which point it does fail, but that is
exactly what I expect in that scenario.
I'm guessing the above succeeds because the Transaction Scope is
disposed of, thereby releasing the connection, which is the pattern
I'd expect to be used by most people.
Therefore, I'm a little confused. I'm sure NH hasn't been re-worked to
get around this issue since the original post (esp. 2.1.2GA), but is
this still a problem? I'm using .NET 3.5 SP1 and SQL Server 2008.
Thanks
--
You received this message because you are subscribed to the Google Groups
"nhusers" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/nhusers?hl=en.