Я реализовал приложение, которое доступно через RemoteApp по Интернету. Приложение обрабатывает большой объем данных, который в некоторых случаях занимает даже 4-5 дней для завершения.
В этой точке пользователь приложения должен сохранить его, открывают все время, которое приложение выполняет, чтобы смочь закончить задачу.
Я задавался вопросом, возможно ли закрыть соединение с сервером RemoteApp и все еще поддерживать приложение в рабочем состоянии. В стандартном сценарии Службы удаленных рабочих столов я могу просто нажать кнопку "the cross" на панели Сессии Терминального сервера и разъединиться без того, чтобы выходить из системы.
В сценарии RemoteApp нет никакой панели TS на вершине экрана и путем нажимания X кнопок в рамках приложения, сервер закрывает приложение.
Решение 1
Существует установка в Групповых политиках на сервере, который управляет, как приложения RemoteApp должны вести себя, когда они разъединяются.
В основном выход выполняется по умолчанию, когда Вы закрываете RemoteApp, но можно изменить эти настройки максимум к 5 дням (могло бы быть возможно увеличить этот предел через реестр).
Вы найдете настройки на сервере здесь (для Win2008):
Local group Policies (run gpedit.msc) > Computer Configuration > Administrative Templates > Windows Components > Remote Desktop Services > Remote Desktop Session Host > Session Time Limits > Set time limit for logoff of RemoteApp sessions
Примечание: удостоверьтесь, что Вы не переопределяете настройки разъединения/выхода через конфигурацию Конфигурации компьютера или Пользователя, или она не будет иметь никакого эффекта, поскольку у них был бы приоритет.
Решение 2
Используйте tsdiscon инструмент для разъединения сессии вместо того, чтобы закрыть приложение.
В этом случае удостоверьтесь снова, что Ваша Конфигурация компьютера или пользовательские Параметры конфигурации не осуществляют некоторый тайм-аут, который привел бы к сеансу, закрытому, когда Вы не хотите.
Ссылки