commande Powershell pour la suppression d'éléments du cache AppFabric
Question
Y at-il des commandes PowerShell:
- Obtenir une liste d'éléments dans le cache
- Supprimer un élément particulier
- Supprimer tous les éléments
- Modifiez la valeur pour une clé particulière
Je ne suis pas venu sur un blog sympa ou tutoriel pour les débutants pour commencer avec l'administration de la mise en cache AppFabric.
Merci!
La solution
Malheureusement pas :-( Actuellement, les commandes PowerShell sont destinées à un niveau plus élevé de granularité.
Mais ...
Vous pouvez écrire vos propres applets de commande PowerShell, vous pouvez ajouter ceux supplémentaires dont vous avez besoin: -)
Il y a beaucoup d'informations sur le web sur écriture cmdlets personnalisé mais comme une idée approximative ça va être quelque chose comme ça. Construire un nouveau projet de bibliothèque de classe dans votre langue de choix. Ajouter une référence à System.Management.Automation.dll - vous pouvez le trouver dans C: \ Program Files Assemblages \ référence \ Microsoft \ Powershell \ 1.0. Créer une classe qui hérite de Cmdlet
et a également l'attribut Cmdlet
. Remplacer la méthode ProcessRecord et ajoutez le code pour faire ce que vous devez faire. Pour passer des paramètres de Powershell dont vous avez besoin pour ajouter des propriétés à votre classe et les marquer avec l'attribut Parameter
. Il devrait ressembler à ceci:
Imports System.Management.Automation
Imports Microsoft.ApplicationServer.Caching
<Cmdlet(VerbsCommon.Remove, "CacheItem")> _
Public Class RemoveCacheItem
Inherits Cmdlet
Private mCacheName As String
Private mItemKey As String
<Parameter(Mandatory:=True, Position:=1)> _
Public Property CacheName() As String
Get
Return mCacheName
End Get
Set(ByVal value As String)
mCacheName = value
End Set
End Property
<Parameter(Mandatory:=True, Position:=2)> _
Public Property ItemKey() As String
Get
Return mItemKey
End Get
Set(ByVal value As String)
mItemKey = value
End Set
End Property
Protected Overrides Sub ProcessRecord()
MyBase.ProcessRecord()
Dim factory As DataCacheFactory
Dim cache As DataCache
Try
factory = New DataCacheFactory
cache = factory.GetCache(Me.CacheName)
Call cache.Remove(Me.ItemKey)
Catch ex As Exception
Throw
Finally
cache = Nothing
factory = Nothing
End Try
End Sub
End Class
Une fois que vous avez construit la DLL, vous pouvez l'ajouter en Powershell avec l'applet de commande Import-Module.