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:
Estenda a classe DataCacheStoreProvider (Cache do AppFabric 1.1)
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 |
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