Enable Read-Through and Write-Behind on a Cache (AppFabric 1.1 Caching)

Antes de habilitar um provedor Microsoft AppFabric 1.1 para Cache do Windows Server read-through/escrita atrasada em um cache, você primeiro precisa concluir as etapas a seguir:

  1. Estenda a classe DataCacheStoreProvider (Cache do AppFabric 1.1)

  2. Implante um provedor read-through/escrita atrasada (Cache do AppFabric v1.1)

Após essas duas etapas, você poderá habilitar o provedor em um cache.

Como habilitar o provedor usando o Windows PowerShell

O provedor pode ser associado a um cache por meio dos comandos New-Cache e Set-CacheConfig do Windows PowerShell. Esses comandos são compatíveis com os seguintes parâmetros que configuram os provedores read-through/escrita atrasada.

Parâmetro Tipo Descrição

ProviderType

string

O nome plenamente qualificado do tipo de montagem do provedor. Esse provedor implanta os recursos escrita atrasada e read-through. O nome diferencia maiúsculas e minúsculas.

ProviderSettings

hashtable

Um ou mais pares chave/valor que especificam configurações, como as informações de conexão, para o provedor.

ReadThroughEnabled

string

Use esse parâmetro para habilitar o recurso read-through. Por padrão, ele é definido como falso.

WriteBehindEnabled

string

Use esse parâmetro para habilitar o recurso escrita atrasada. Por padrão, ele é definido como falso.

WriteBehindInterval

integer

O número de segundos pelo qual um item de cache deve ser gravado no provedor após ser gravado no cache.

WriteBehindRetryCount

integer

O número máximo de tentativas de conexão com o provedor de escrita atrasada. (um valor de -1 resulta em recuperações infinitas).

WriteBehindRetryInterval

integer

O intervalo de tentativas, em segundos, de espera entre tentativas de repetição no caso de uma falha de conexão com o provedor de escrita atrasada.

Observe que o Set-CacheConfig não exigirá que o cluster de cache seja interrompido para realizar essas alterações no provedor se o switch refreshNow for usado. Esse não é o caso das outras alterações de configurações de cache que exigem a interrupção do cluster de cache primeiro.

O parâmetro ProviderType usa um nome totalmente qualificado da classe que implementa o provedor. Uma maneira de localizar o nome totalmente do assembly é usar a ferramenta gacutil.exe para pesquisar o Cache de Assembly Global para o assembly registrado. Isso é exibido no exemplo a seguir.

gacutil.exe /l RTProvider

Ela retorna o nome totalmente qualificado do assembly no Cache de Assembly Global, conforme mostrado a seguir:

RTProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=80e2cb5f6ba933f0, processorArchitecture=MSIL

É preciso apenas anexar o nome de classe qualificado. Por exemplo, se o nome da classe for Provider, o parâmetro ProviderType, neste exemplo, será definido como a cadeia de caracteres a seguir.

RTProvider.Provider, RTProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=80e2cb5f6ba933f0

Observe que o parâmetro ProviderSettings é definido como um ou mais pares chave/valor personalizados para o provedor. Esse parâmetro será necessário apenas se o provedor exigir essas configurações.

Exemplo

O exemplo a seguir cria um novo cache, denominado Cache1, que permite read-through/escrita atrasada por meio de um provedor, RTProvider.

New-Cache Cache1 -ReadThroughEnabled true -WriteBehindEnabled true -WriteBehindInterval 60 -ProviderType "RTProvider.Provider, RTProvider, Version=1.0.0.0, Culture=neutral, PublicKeyToken=80e2cb5f6ba933f0" -ProviderSettings @{"setting1"="value1";"setting2"="value2"}

Observe que o parâmetro ProviderSettings transmite duas configurações de pares chave/valor em uma sintaxe que o Windows Powershell utiliza para especificar hashtables.

Outras considerações

  • Se houver um erro ao habilitar o provedor, pode ser que o provedor não tenha sido registrado corretamente. Verifique se o provedor está registrado em todos os hosts de cache e se você especificou o nome totalmente qualificado corretamente.

  • Se você atualizar um provedor DLL no Cache de Assembly Local em cada host de cache, o cluster de cache não utilizará a versão atualizada até que o serviço de cache seja reiniciado com os comandos Restart-CacheCluster ou Start-CacheHost do PowerShell.

  • Os objetos DataCacheItem são armazenados no cluster de cache em um formulário serializado. Se o provedor precisar desserializar os dados armazenados em DataCacheItem, os assemblies associados a esses objetos serializados também precisarão estar no Cache de Assembly Global nos hosts de cache.

Consulte também

Conceitos

Estenda a classe DataCacheStoreProvider (Cache do AppFabric 1.1)
Implante um provedor read-through/escrita atrasada (Cache do AppFabric v1.1)

  2012-03-05