You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When using the library with IOC patterns it's often desirable to inject connection information separately from the type of lock or lock name. A centralized provider API would simplify this:
class SqlDistributedLockProvider
{
// factory methods
SqlDistributedLock CreateLock(string name);
SqlDistributedLock CreateLockWithExactName(string name); // does not use GetSafeName()
SqlDistributedReaderWriterLock CreateReaderWriterLock(string name);
...
// we may also want to offer convenience methods for locking directly
IDisposable TryAcquireExclusiveLock(string name, TimeSpan timeout, CancellationToken cancellationToken);
}
Activity
XtremeOwnageDotCom commentedon Dec 17, 2018
Here is my implementation of a interface, used with dependancy injection:
https://pastebin.com/jBGgVY5J
(Couldn't get the formatting working properly)
XtremeOwnageDotCom commentedon Dec 17, 2018
I personally prefer this method- as it only requires me to reference this library in the project which contains my database connection.
The interface is defined in my "interfaces" class, which is referenced everywhere.
Add provider interfaces and implementations (#13).