Cleaned up tests around HibernateTxScopeTransactionManager tests and added a few null-checks around the sessionHolder member to address situations where there's not (yet) a session but ambient (outer) transactions are underway
Introduced HibernateTxScopeTransactionManager class to coordinate rollback behavior between System.Transactions and NHibernate ITransaction instances based on changed made to NH in 2.1.2
Introduced fallback case to use the AppDomain's .BaseDirectory property instead of the .DyanmicDirectory property as the location for the generated assembly should the .DynamicDirectory property be NULL
Update docs to reflect the requirement for a non-null, non-empty string cache key. Added guard clauses in the BaseCacheAttribute constructor to prevent passing null or empty string as the cache key argument. Tests added to ensure guard clauses behave as expected.
Unable to devise a failing test that evidences the issue, but added several tests that demonstrate that its (seemingly)not possible to create the problem described in this issue. If a failing test is ultimately submitted, we can investigate further.
Commit failing test case for recurring concurrency bug in re: AbstractObjectFactory; finally have a 100% reproducible failing test case to work against now. Next up, of course, will be the harder part of making the test pass... :)
Method mentioned in the documentation was long-since deprecated and had been removed from the Interface. Docs updated to remove reference to the no-longer-existent method signature.
-introduce singleton-specific lock object registration to prevent against deadlocks when any one singleton create/destroy op calls arbitrarily long user-supplied methods that may or may not block
-wrapped modifications to nestingCount in Interlock.Increment and Interlock.Decrement calls
-wrapped calls to decrement nestingCount with protection against it decrementing to < 0
Added call to check if the SchemaSet is already compiled and compile it within a critical section to avoid thread collisions during the compilation of the schema.
Added additional option of <database: ... /> as well as <db: ... /> as a wellknown namespace since inconsistency between different places in the documentation mentions BOTH yet only <db: ... /> was actually a registered wellknown namespace (meaning any attempts to use <database: ... /> namespace would only work if the parser for that namespace was explicitly configured by the user)