Как RestSharp использует RequestCachePolicy, если он используется на сервере из сервиса? - PullRequest
0 голосов
/ 14 октября 2019

Я использую RestSharp для работы с некоторыми REST API.

Используется политика кэширования запросов по умолчанию. Заголовки со стороны сервера в порядке. У меня другое поведение в разных средах.

Когда я звоню из консольного приложения - RestSharp делает запрос и правильно кэширует успешный ответ в папке временных файлов пользователя в Интернете (C: \ Users \ namehere \ AppData \ Local\ Microsoft \ Windows \ Temporary Internet Files) внутри одной из случайно выбранных папок.

Когда один и тот же код развертывается и выполняется на сервере, внутри некоторых служебных файлов кэша создаются не в случайно именованных папках, а вСама «Временные интернет-файлы». И они удаляются, как только процесс закрывает файл, поэтому они не могут быть повторно использованы в качестве кеша.

Если я запускаю одно и то же приложение на сервере, используя «runas / profile / user: serviceuser ...», то файлы кеша создаютсяточно так же, как на моей локальной машине - в случайно названных папках и не удаляется. Они работают должным образом.

Я проверил действия по созданию / удалению файлов с помощью инструмента ProcessMonitor на сервере. Файлы кэша удаляются, как только процесс закрывает их.

Итак, вопросы:

  1. Использует ли RestSharp кэширование WinINet под капотом?
  2. Если да - естьон использует тот же WinINet кеширование на сервере, когда код выполняется из службы (я читал, что WinINet не поддерживается на сервере, но что это значит, код работает там)?
  3. Почему файлы кэша удаляются немедленнопосле того, как они созданы на сервере, но при локальном запуске - они остаются на месте и могут быть повторно использованы в качестве кэша?
  4. В чем может быть причина такого различного поведения, что проверять?
  5. Как процесс получения информации о том, какую папку кэша используют, из какой части реестра?

Я надеялся получить кеширование из коробки с помощью RestSharp, но, похоже, это не так просто, и этодля меня странно расхождение между консольным приложением и использованием сервиса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...