Когда я вношу изменения в приложение в консоли управления, я вижу, что этот номер версии увеличивается:
Если я нажму «Состояние контента», то увижу «Исходную версию», но не «Редакцию» для приложения.
На клиенте, на котором развернуто приложение, я вижу следующую запись для того же приложения в AppEnforce.log
:
«Выполняется обнаружение типа развертывания приложения XXXXXXXXXXXXX 0.2.1 (ScopeId_F51CE1C8-9E1E-4412-8DC0-8870C8D09B93/DeploymentType_7ce08ce1-ddb5-4861-b5eb-d03752c142cb, версия 22) для пользователя».
Все это оставляет у меня следующие вопросы:
Что именно означает "Revision" в консоли? Имеет ли она то же значение, что и запись в in
AppEnforce.log
?Необходимо ли обновлять распространяемый контент, чтобы новая «Редакция» передавалась с сервера сайта клиенту?
Какую работу выполняет SCCM для распространения изменения "Revision" в консоли на клиент? Могу ли я увидеть артефакты этой работы в файлах журнала сервера?
Почему «Редакция», которая
AppEnforce.log
иногда отображается на один шаг позже «Редакции», отображаемой в консоли, даже если прошло много времени?
решение1
Это все, что мне удалось собрать из логов. Я использую CMTrace для слияния следующих логов:AppDiscovery, AppEnforce, AppIntentEval, CAS, ContentTransferManager, DataTransferService
- В консоли SCCM «Ревизия» означает ревизию приложения в SCCM. Элемент вAppEnforce.log— это тип развертывания приложения. Я не думаю, что они обязательно должны совпадать, хотя в более простых приложениях это возможно.
- Валидность контента оценивается независимо. Если бы вы принудительно перераспределили контент, я бы ожидал, что ревизия контента увеличится. То же самое, если бы была отмечена опция «автоматически обновлять контент» и было определено, что контент обновлен на сервере.
- Я думаю, что всю работу выполняет клиент. AppIntentEvalпоказывает, что Приложение применимо, иAppDiscoveryопределяет, какой ContentID/Revision будет использоваться. Это будет означать, что клиент опрашивает сервер на предмет информации, а не обязательно получает ее с сервера.
- Потому что SCCM делает вещи вечно? Боюсь, я не смогу ответить на это компетентно. Запуск клиентских задач может привести к тому, что эти результаты оценки вернутся в строй.
Что следует иметь в виду:
AppEnforce.log не отражает всю картину. Ревизия типа развертывания, похоже, не совпадает с ревизией приложения, которая, в свою очередь, отличается от ревизии содержимого.
Посмотрите в AppIntentEval.log. Вы видите ScopeId_xxx/DeploymentType_xxx/(revision)
. Вы также видите ScopeId_xxx/Application_xxx/(revision)
. Это не одна и та же сущность.
Думаю, часть вашего вопроса звучит так: «Как клиент определяет, что контент, находящийся в его кэше, все еще актуален, если версии устарели?» ContentAccess.logпоказывает записи, такие как "All references to Content Content_xxx in cache have been removed. Content will be Tombstoned.
Я подозреваю, что именно этот механизм определяет валидность.