Ну, я думаю, вы уже исключили большинство вариантов. И при условии, что вы не можете установить другие службы, на ум приходят две другие возможности:
- Используйте доступный для записи общий доступ к файлам для хранения данных.
- Разрешить отдельным веб-серверам общаться друг с другом. Например, сделайте IP-адрес компьютера или имя частью сгенерированного уникального идентификатора; таким образом, если вы получаете доступ к другому серверу при обратной передаче, этот сервер может вызвать исходный сервер для получения своих данных. Имейте в виду: если один сервер выходит из строя (или процесс ASP.NET перезагружается), все его данные теряются. * Я надеюсь, что это случается не так часто, независимо от этой темы.
Как и в версии SQL Server, не забудьте как-то очистить ваши данные; Вариант 1 очень похож на SQL Server в этом отношении, но в случае SQL Server это может быть просто централизованная очистка, в случае общего файлового ресурса возникает вопрос: какой сервер является центром?
*) Конечно, вы можете попытаться создать вторичный процесс в ASP.NET. Здесь возникает проблема: что, если у этого процесса есть проблемы? По умолчанию это не управляемо для ваших системных администраторов, если только вы не сделаете это управляемым.