Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Хранилище экземпляров — это логический контейнер экземпляров. Это место, где хранятся данные экземпляра и метаданные. Хранилище экземпляров не подразумевает выделенное физическое хранилище. Хранилище экземпляров может содержать устойчивые сведения в базе данных SQL Server или не устойчивые сведения о состоянии в памяти. Платформа .NET Framework 4.6.1 поставляется с хранилищем экземпляров рабочих процессов SQL, которое представляет собой конкретную реализацию хранилища экземпляров, которое позволяет рабочим процессам сохранять данные экземпляра и метаданные в базе данных SQL Server 2005 или SQL Server 2008. Кроме того, Windows Server App Fabric также предоставляет конкретную реализацию хранилища состояний. Для получения дополнительной информации см. поставщики хранилища экземпляров, запросов и элементов управления Windows Server App Fabric.
API сохраняемости — это интерфейс между узлом и хранилищем экземпляров, который позволяет узлу отправлять запросы команд (например, LoadWorkflowCommand и SaveWorkflowCommand) в хранилище экземпляров. Конкретная реализация этого API называется поставщиком сохраняемости. Поставщик сохраняемости получает запросы от узла и изменяет хранилище экземпляров.
Узлы и хранилища экземпляров подключаются таким образом, чтобы узел можно было использовать со многими хранилищами экземпляров, а хранилище экземпляров можно использовать со многими узлами. Хранилище экземпляров обычно оптимизировано для шаблонов использования определенного узла, хотя хранилище экземпляров и узел могут развиваться на независимых жизненных циклах. Например, WorkflowServiceHost и SqlWorkflowInstanceStore предназначены для совместной работы. Вы можете создать собственное хранилище экземпляров для сохранения данных и метаданных экземпляров службы рабочих процессов и использовать это хранилище экземпляров с WorkflowServiceHost. Например, можно создать OracleWorkflowInstanceStore, который позволяет рабочим процессам сохранять сведения в базе данных Oracle, а не сохранять их в базе данных SQL Server.
Обычно хосты расширяются дополнительной функциональностью, которая изменяет сохраненные объекты. Например, система сохраняемости экземпляров может иметь узел рабочего процесса, расширение, поддерживающее операцию "Приостановка" и хранилище экземпляров SQL. Хост рабочего процесса может отправить стандартную команду, например, сохранить или загрузить рабочий процесс из хранилища экземпляров или сохранить его в хранилище экземпляров. Расширение приостановки может добавить дополнительную семантику в команды для сохранения и загрузки экземпляров рабочих процессов, чтобы экземпляр приостановленного рабочего процесса не мог быть загружен. Поставщик сохраняемости для хранилища экземпляров SQL понимает команды для сохранения и загрузки экземпляров рабочих процессов и реализует команды, вызывая соответствующие хранимые процедуры, которые изменяют таблицы постоянных объектов в базе данных SQL Server.
Хост выступает в качестве владельца экземпляра в хранилище экземпляров. Хост может выступать в роли более чем одного владельца экземпляра с более чем одним хранилищем экземпляров одновременно. Хост предоставляет GUID для ключей экземпляров, связанных с этими экземплярами. Ключ экземпляра — это уникальный псевдоним, определяющий экземпляр. Система сохраняемости создает, обновляет и удаляет сведения о владельце экземпляра при выполнении команд, запрошенных узлами.
В следующем списке содержатся важные шаги, связанные с взаимодействием хост-системы с хранилищем экземпляра.
Получите InstanceStore из поставщика хранения.
Получите дескриптор экземпляра, вызвав метод CreateInstanceHandle для InstanceStore.
Вызов команд для дескриптора экземпляра Execute путем вызова метода в InstanceStore.
Проверьте возвращаемое InstanceViewметодом InstanceStore.Execute, чтобы определить результаты команд.