2010-03-21 2 views
0

Я написал приложение ASP.NET, которое, я надеюсь, продаю предприятиям, я мог бы провести пробную версию, но он предназначен для подключения к данным клиентов, поэтому клиенты обязательно захотят установить его для успешной оценки.ASP.NET Каков наилучший способ создания пробной версии для загрузки клиентов?

Я никогда не производил ничего коммерческого, поэтому я ищу совет о том, как лучше всего ограничить пробную версию, 30-дневная пробная версия кажется наиболее распространенной, вы просто полагаетесь на часы ПК/сервера, которые они устанавливают на? Любые другие предложения приветствуются, пожалуйста, имейте в виду, что это приложение ASP.NET, поэтому оно будет установлено на их веб-сервере.

Благодаря Craig

+0

Является ли ваше веб-приложение «проектом веб-приложений»? Или существуют ли библиотеки классов в вашем веб-приложении? Или весь код в папке App_Code? Это повлияет на то, как я отвечу на вопрос. – jessegavin

ответ

-3

Поставьте счетчик в web.config, конечно, дать счетчику несвязанного имя, клиент не знает, что это за. Каждый раз, когда они обращаются к приложению, вы можете увеличить счетчик. Дайте им x количество входных данных.

Если вы хотите, вы можете зашифровать счетчик, если вы не хотите, чтобы клиент понял, что счетчик увеличивается.

+0

Проблема заключается в том, что каждый раз, когда вы редактируете файл web.config, AppDomain сайта отключается и перезагружается ... Возможно, вы можете сделать это в реестре или что-то еще, возможно. –

+0

-1 из-за перезапуска AppDomain. –

+0

-1 - безопасность через неизвестность вообще не является защитой –

1

Я бы установил веб-службу на ваш сервер для аутентификации демонстрационного приложения. Веб-служба должна периодически вызываться, а если она терпит неудачу, отключите приложение. Таким образом, вы полностью контролируете процесс (вы можете продлить его или закрыть его удаленно).

Вы должны предоставить им какой-то ключ, который они поместит в ваш web.config, который идентифицирует их как клиента.

Удостоверьтесь, что вы принимаете обычные меры предосторожности при шифровании/использовании хэшей с ключом и веб-службой, чтобы он не был обойден.

+0

Непрактичный. Что делать, если клиент находится во внутренней сети? И теперь ты будешь поддерживать этот сервис навсегда? Это будет стоить вам только денег, это не даст вам продаж. – Bryan

0

Этот вид вещей был хорошо освещен на SO в прошлом.

Вы не можете сделать это нерушимым, но вы можете сделать это очень трудным для клиента, чтобы он сломал ваш пробный период.

Один из способов сделать это - сделать первый запуск и зашифровать эту информацию и сохранить ее либо в вашем web.config, либо в базе данных. У этого есть слабость: что вы делаете, если ценность отсутствует там, где вы ожидаете?

Другим вариантом является ping веб-сервис, который вы принимаете. Если веб-служба заявляет, что их испытание закончено, вы можете отобразить соответствующую страницу, чтобы сообщить им об этом. Это имеет то преимущество, что вебсервис находится вне их контроля и не может быть запутан. Недостаток заключается в том, что не каждый клиент захочет разрешить своим веб-приложениям звонить домой, и могут возникнуть проблемы с подключением, которые могут помешать работе вашего приложения.

Таким образом, вам может потребоваться множество вариантов, а затем реализовать модуль лицензирования с использованием Provider pattern, чтобы вы могли поменять место в наиболее подходящем для этого клиентом модуле лицензирования.

1

Я бы просто сделал это через часы ПК. В конце концов, они могут просто изменить часы и продолжать использовать ваше программное обеспечение, хотя это, вероятно, не будет работать на практике (то есть большинство программного обеспечения фактически использует дату и время для других вещей, а также меняет его чтобы прикрутить это).

Как правило, вы можете доверять бизнесу больше, чем доверять широкой публике. Ответственность бизнеса намного выше, чем у человека, поэтому, если бы он пришел к нему, вы могли бы подать в суд на них довольно много.Это само по себе означает, что большинство предприятий будут покупать лицензии для всего своего программного обеспечения: несколько сотен (или даже тысяч) долларов за лицензию на программное обеспечение намного лучше, чем риск получения иска.

Когда они подписываются на демоверсию, убедитесь, что вы получили все свои контактные данные и так далее.

+0

@codeka: часы ПК + веб-приложение? –

+0

Ну, я имел в виду часы ПК на сервере ... –

+0

Да. Также абсолютный простейший для реализации. См. Мой ответ здесь: http://stackoverflow.com/questions/525317/license-a-net-web-site/526498#526498 – Bryan

Смежные вопросы