Configuring the SharedActivation

SharedActivation provides system-wide locking capabilities for license activations shared across multiple processes. It wraps a standard IActivation instance with additional locking mechanisms.

The SharedActivation constructor requires two configuration sections:

  1. Activation Options - Configures the underlying activation (same as regular Activation). How to configure activation documentation is available here.

  2. Locking Options - Configures the locking mechanism for cross-process synchronization

var activation = new SharedActivation(
    activationOptions => { /* activation configuration */ },
    lockingOptions => { /* locking configuration */ }
);

Locking Options

Locking options define how SharedActivation coordinates access between multiple processes:

lockingOptions => 
{
    // Use system-wide named mutex based on storage location
    lockingOptions.UseSystemLock();
    
    // OR use system-wide named mutex based lock
    lockingOptions.UseSystemLock("Global\\YourApp-UniqueIdentifier");
    
    // OR use a custom lock implementation
    lockingOptions.UseCustomLock(activation => yourCustomLockFactory);
}

Last updated

Was this helpful?