Armazenamentos de instânciaInstance Stores

Um armazenamento de instância é um contêiner lógico instâncias.An instance store is a logical container of instances. É o local onde os dados e os metadados de instância são armazenados.It is the place where the instance data and metadata is stored. Um armazenamento de instância não implica o armazenamento físico dedicado.An instance store does not imply dedicated physical storage. Um armazenamento de instância pode conter informações durável em uma base de dados SQL Server ou em uma informações de estado não durável na memória.An instance store could contain durable information in a SQL Server database or non-durable state information in a memory. Os vem de .NET Framework 4.6.1.NET Framework 4.6.1 com a instância Store de fluxo de trabalho SQL, que é uma implementação concreta de um armazenamento de instância que permite que os fluxos de trabalho persistam dados e metadados de instância em uma base de dados SQL Server 2005 ou SQL Server 2008.The .NET Framework 4.6.1.NET Framework 4.6.1 ships with the SQL Workflow Instance Store, which is a concrete implementation of an instance store that allows workflows to persist instance data and metadata into a SQL Server 2005 or SQL Server 2008 database. Além a tela de aplicativo Windows Server também fornece uma implementação concreta de um armazenamento de instância.In addition Windows Server App Fabric also provides a concrete implementation of an instance store. Para obter mais informações, consulte provedores de armazenamento, consulta e controle de instância do Windows Server app Fabric.For more information, see Windows Server App Fabric Instance Store, Query, and Control Providers.

Persistência API é a interface entre um host e um armazenamento de instância que permite que o host enviar solicitações de comando (por exemplo, LoadWorkflowCommand e SaveWorkflowCommand) para o armazenamento de instância.The persistence API is the interface between a host and an instance store that allows the host to send command requests (for example, LoadWorkflowCommand and SaveWorkflowCommand) to the instance store. A implementação concreta deste API é chamado um provedor de persistência.The concrete implementation of this API is called a persistence provider. O provedor de persistência recebe solicitações de um host e altera o armazenamento de instância.The persistence provider receives requests from a host and modifies the instance store.

Hosts e armazenamentos de instância são pluggable de modo que um host pode ser usado com muitos armazenamentos de instância, e um armazenamento de instância pode ser usado com muitos host.Hosts and instance stores are pluggable so that a host can be used with many instance stores, and an instance store can be used with many hosts. Um armazenamento de instância é otimizado para normalmente os padrões de uso de um host específico, embora o armazenamento e o host de instância possa evoluir em ciclos de vida independente.An instance store is typically optimized for the usage patterns of a particular host, although the instance store and host may evolve on independent life cycles. Por exemplo, o WorkflowServiceHost e os SqlWorkflowInstanceStore são projetados para funcionar bem juntos.For example, the WorkflowServiceHost and the SqlWorkflowInstanceStore are designed to work well together. Você pode criar seu próprio repositório de instância para manter dados e metadados de instâncias do serviço de fluxo de trabalho e usar esse repositório de instância com o WorkflowServiceHost.You can create your own instance store to persist data and metadata of workflow service instances and use that instance store with the WorkflowServiceHost. Por exemplo, você pode criar um OracleWorkflowInstanceStore que permite fluxos de trabalho manter informações em uma base de dados Oracle em vez de salvar em uma base de dados SQL Server.For example, you can create an OracleWorkflowInstanceStore that lets workflows persist information into an Oracle database instead of saving them into a SQL Server database.

É comum para hosts sejam estendidos com funcionalidade adicional que altera os objetos persistentes.It is common for hosts to be extended with additional functionality that modifies the persisted objects. Por exemplo, um sistema de persistência de instância pode ter um host de fluxo de trabalho, uma extensão que dá suporte à operação "suspender" e um repositório de instância do SQL.For example, an instance persistence system may have a workflow host, an extension that supports the "Suspend" operation, and an SQL instance store. O host de fluxo de trabalho pode enviar um comando padrão como salvar ou carregá-lo para salvar ou carregar um fluxo de trabalho de um armazenamento de instância ou para salvar um fluxo de trabalho em um armazenamento de instância.The workflow host might send a standard command such as Save or Load to save or load a workflow from an instance store or to save a workflow into an instance store. A extensão de suspensão pode adicionar a semântica adicional para comandos para salvar e carregar instâncias de fluxo de trabalho de forma que uma instância suspendida de fluxo de trabalho não pode ser carregada.The suspend extension might add additional semantics to the commands for saving and loading workflow instances so that a suspended workflow instance cannot be loaded. O provedor de persistência para o armazenamento de instância de SQL entenda os comandos para salvar e carregar instâncias de fluxo de trabalho, e implementa os comandos chamando procedimentos armazenados apropriadas que alteram as tabelas de objetos persistentes em uma base de dados SQL Server.The persistence provider for the SQL instance store understands the commands for saving and loading workflow instances, and implements the commands by calling appropriate stored procedures that change the tables of persistent objects in an SQL Server database.

Um host atua como um proprietário de instância em um armazenamento de instância.A host acts as an instance owner within an instance store. Um host pode atuar como mais de um proprietário da instância com mais de uma instância armazena ao mesmo tempo.A host may act as more than one instance owner with more than one instance store at the same time. O host fornece as chaves de GUIDs por exemplo associadas com instâncias.The host provides GUIDs for instance keys associated with the instances. Uma chave de instância é um alias exclusivos que identifiquem uma instância.An instance key is a unique alias that identifies an instance. O sistema de persistência cria, atualizações, e informações do proprietário de instância exclui como executar comandos por aplicativos host.The persistence system creates, updates, and deletes instance owner information as it executes commands requested by hosts.

A lista a seguir contém as etapas importantes envolvidas na interação de host com o armazenamento de instância:The following list contains the important steps involved in the host’s interaction with the instance store:

  1. Obtenha um InstanceStore de um provedor de persistência.Obtain an InstanceStore from a persistence provider.

  2. Obtenha o identificador para uma instância chamando o CreateInstanceHandle método no InstanceStore.Obtain the handle to an instance by calling the CreateInstanceHandle method on the InstanceStore.

  3. Invoque comandos em relação ao identificador de instância chamando o Execute método no InstanceStore.Invoke commands against the instance handle by calling the Execute method on the InstanceStore.

  4. Examine o InstanceView retornado por InstanceStore.Exegraciosos para determinar os resultados dos comandos.Examine the InstanceView returned by InstanceStore.Execute to determine the results of the commands.