DEV Community

Cover image for Implementing Concurrent User Licensing in .NET: A Floating License Guide
Soraco Technologies
Soraco Technologies

Posted on

Implementing Concurrent User Licensing in .NET: A Floating License Guide

Enterprise software often needs to support concurrent user licensing - where multiple employees share a limited pool of licenses. This guide shows you how to implement floating licenses in your .NET applications.

What Problem Do Floating Licenses Solve?

Imagine selling software to a company with 100 employees, but only 20 use it simultaneously. With traditional node-locked licenses, you'd need to sell 100 licenses. With floating licenses, you sell 20 concurrent-use licenses that any of the 100 employees can access.

The business case:

  • Customers pay for actual usage, not potential users
  • Reduces software costs for enterprises
  • Increases your sales to larger organizations
  • Prevents license waste from inactive users

How Floating Licenses Work

Unlike node-locked licenses that bind to specific machines, floating licenses operate from a central license server:

  1. Application starts → Requests a license from the pool
  2. License available → Granted and marked as "in use"
  3. Heartbeat signals → Application proves it's still running
  4. Application closes → License returns to the pool
  5. Crash or timeout → Server automatically releases the license

Check out the QLM license models documentation on GitHub for more details.

Implementation with Quick License Manager

Quick License Manager provides two deployment options for floating licenses:

Cloud-Based Floating Licenses

The QLM License Server runs in the cloud, managed by Soraco. Your applications connect via HTTPS to check out licenses.

Advantages:

  • No server infrastructure to maintain
  • Automatic updates and monitoring
  • Built-in redundancy and uptime
  • Works for distributed teams globally

Learn more: Cloud-Based Floating Licenses

On-Premise Floating Licenses

You host the QLM License Server on your own infrastructure or your customer's network.

Advantages:

  • Full control over the license server
  • Works in air-gapped environments
  • Meets strict security requirements
  • No external dependencies

Documentation: On-Premise Floating Licenses

GitHub reference: How-to guides

Key Technical Considerations

Heartbeat Mechanism

The license server needs to know when an application crashes without properly releasing its license. QLM uses configurable heartbeat intervals:

  • Application sends periodic "still alive" signals
  • Server expects heartbeats within the timeout window
  • Missed heartbeats trigger automatic license release
  • Prevents licenses being locked by crashed processes

Network Dependency

Floating licenses require network connectivity to the license server. Consider:

  • Connection failures - How long should the app continue working?
  • Grace periods - Allow brief disconnections without termination
  • Offline checkout - QLM supports temporary offline usage

Hybrid Licensing Models

You can support both floating and node-locked licenses in the same application. This lets you offer:

  • Floating licenses for enterprise customers
  • Node-locked licenses for individual users (see computer-bound keys)
  • Mixed deployments within the same organization

See: Supporting floating and node-locked licenses together

Advanced Features

Product Properties

Customize license behavior using product properties to:

  • Set different feature sets per license
  • Control expiry dates for specific features
  • Define custom license attributes

Maintenance Plans

Implement upgrade protection with QLM maintenance plans:

  • Control which versions customers can upgrade to
  • Manage perpetual licenses with optional upgrade subscriptions
  • Validate version entitlements during activation

View the complete feature list for all supported capabilities.

Comparison with Other Licensing Models

For different use cases, consider:

Getting Started

To implement floating licenses in your .NET application:

  1. Choose your deployment model (cloud vs on-premise)
  2. Configure the QLM License Server
  3. Integrate the QLM SDK into your application
  4. Set heartbeat intervals and timeout policies
  5. Test license checkout, heartbeat, and release flows

GitHub Resources:

Conclusion

Floating licenses make enterprise software more accessible by reducing per-seat costs while maintaining license compliance. Quick License Manager handles the complex server infrastructure, heartbeat monitoring, and failover scenarios - letting you focus on your application features.

Explore the GitHub repository for detailed documentation and examples.


Need help with .NET licensing? Visit soraco.co, check out our GitHub repo, or read our other licensing tutorials.

Top comments (0)