Click here to Skip to main content
15,868,080 members
Please Sign up or sign in to vote.
1.00/5 (1 vote)
See more:
Hi Friends,

Please help me as per my below scenario.

Let's assume, Client is using my application and bought license for say: n users.
later clients wants to increase the number of users to n+1 users.

Then without visiting to client location, how can I increase the user limit ?

Please note that: once application will be delivered to client, I will have no control over application except the license part.

How to implement this concept ?

Is WEB API best solution for this ? If yes, then could you please give me a code sample or guide me .

What I have tried:

No Idea how to implement this concept.Please guide/suggest me.
Posted
Updated 21-Aug-19 22:30pm
Comments
MadMyche 20-Aug-19 18:06pm    
How do you currently validate the license
BubunDash 25-Aug-19 7:28am    
Dear MadNyche,
A Good Day to you.
Right now , the application is hosted in our server.so we have a table in database which has some hard code value for a particular client.Suppose, you assume, client has taken license that only n number of users can access the site concurrently ,When N+1 user is trying to access the site, we are restricting it by displaying a message "Maximum number of concurrent user reached the limit. Please contact Administrator" that But now , client is telling, they will host this application to their own server and they will also maintain their own database. Which means, they want to buy the complete product from us. So problem is, we are ready to handover but only thing is, our application should not allow them to use more than the number of license they have bought from us. That is why I talking about WEB API or SignalR concept . But I am not able to implement.
BillWoodruff 20-Aug-19 20:11pm    
Get payment and send the user a new app ?
Mohibur Rashid 20-Aug-19 20:15pm    
Take a look at licensing server.
Maciej Los 21-Aug-19 2:43am    
Why do you need to visit the client if an application he's using is ASP.NET? I don't get you...

1 solution

It depends on many factors, especially on the way you want to distribute the license:
  1. manually (each functionality of application have to be activated separately):
  2. - User gives the device UID to the vendor to purchase the license, via either mail or phone.
    - Vendor uses license issuer program to generate the license based on the device UID to unlock features user bought; then the license is send as a text file or an email to the user for activation.
    - User uses license in the activiation form to activate the application.

    See: A Ready To Use Software Licensing Solution in C#[^]

  3. automatically (the license is for the whole application):
  4. - Application connects via internet with the license server and checks if its copy is registered or not
    - Depending of number of bought copies, the application enable user to use it


The second option assumes that:
- the workstation where the application is installed, has got an access to the internet,
- the software owner has got a WebAPI server which returns information about a license details

Good luck!
 
Share this answer
 
Comments
BubunDash 25-Aug-19 7:32am    
Hi Macie Los,

I want to implement your last part suggestion.

- the workstation where the application is installed, has got an access to the internet,
- the software owner has got a WebAPI server which returns information about a license details

Or could you please guide how to implement SignalR mechanism
Maciej Los 25-Aug-19 14:29pm    
I don't know SignalR...
:(
MadMyche 25-Aug-19 22:58pm    
Why over complicate this-
1. Client count is currently in your database. So package it to be in the database on their version as well. Encrypted naturally so they just cant update it
2. License count is checked on application start-up
3. Upgrade can be conde with simple HTTP call, with a mechanism to update that encrypted field
BubunDash 26-Aug-19 0:20am    
Dear MadMyche,

I need help for your point-3.
I need to know that,what mechanism can be simplest way to update that encrypted field. (Web service,WCF, WCF REST or WEB API etc etc) or please guide/suggest me if you have any other way to do this ?

3. Upgrade can be done with simple HTTP call, with a mechanism to update that encrypted field
MadMyche 26-Aug-19 8:01am    
I would probably go using WebAPI which is nothing more than an HttpRequest.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900