Skip to content

Provider interface for SQL locks #13

@madelson

Description

@madelson

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);
}

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions