İpucu

Yazdığınız bir asp.net uygulaması ile IIS 7 üzerinden AppFabric önbellek kümesi üzerinde işlem yapmak isterseniz öncelikle uygulamanızın çalıştığı application domain’nin kullandığı hesabın önbellek kümesinde işlem yapma yetkisi olup olmadığını kontrol etmelisiniz. Varsayılan ayarlarla çalışıyorsanız uygulamanız IIS üzerinde DefaultAppPool uygulama havuzu ile çalışmaktadır ve bu uygulama havuzu “IIS APPPOOL\DefaultAppPool” kullanıcısı ile hizmet vermektedir.

Bu kullanıcıya AppFabric Cache PowerShell cmdlet’lerini kullanarak aşağıdaki komut vasıtasıyla yetki verebilirsiniz:

Grant-CacheAllowedClientAccount "IIS APPPOOL\DefaultAppPool"

Aşağıdaki PowerShell betiği bu kullanıcının önbellek kümesine erişim yetkisi olup olmadığını kontrol ederek yoksa kullanıcı için yetki vermektedir.

#################################################################
#       AppFabricCache_APPPOOL.ps1 PowerShell Cmdlet            #
#################################################################
# DefaultAppPool kullanıcısına AppFabric Cache yetkisi          #
# tanımlar                                                      #
#################################################################
# Fatih Boy, March 2010                                         #
# Version 1.0                                                   #
#################################################################

Import-Module DistributedCacheAdministration
Use-CacheCluster

if ((Get-CacheAllowedClientAccounts) -notcontains "IIS APPPOOL\DefaultAppPool") {
    Write-Host "’IIS APPPOOL\DefaultAppPool’ kullanıcısına erişim veriliyor"
    Grant-CacheAllowedClientAccount "IIS APPPOOL\DefaultAppPool"
}
else{
    Write-Host "’IIS APPPOOL\DefaultAppPool’ kullanıcısına erişimi bulunmakta"
}

Eğer asp.Net uygulamanıza ait uygulama havuzu “IIS APPPOOL\DefaultAppPool”dan farklı bir kullanıcıyı kullanıyor ise yukarıdaki betiği bu kullanıcı adıyla revize etmeniz gerekecektir.

Not : Yukarıdaki PowerShell komut ve betiğinin kullanılabilmesi için öncelikle “Cache Administration” seçeneği üzerinden önbellek yönetim özelliğinin yüklenmiş olması gereklidir. Betiğin çalışması için aşağıdaki komutu çalıştırmanız gerekebilir;

Set-ExecutionPolicy -ExecutionPolicy RemoteSigned -Scope Process