用于从 Appfabric 缓存中删除项目的 Powershell 命令
Posted
技术标签:
【中文标题】用于从 Appfabric 缓存中删除项目的 Powershell 命令【英文标题】:Powershell command for removing items from Appfabric cache 【发布时间】:2010-04-02 13:51:32 【问题描述】:是否有 powershell 命令:
-
获取缓存中的项目列表
删除特定项目
删除所有项目
更改特定键的值
我还没有找到一个不错的博客或教程供初学者开始使用 Appfabric 缓存管理。
谢谢!
【问题讨论】:
【参考方案1】:不幸的是:-( 目前 PowerShell 命令的目标是更高级别的粒度。
不过……
您可以编写自己的 PowerShell cmdlet,以便添加所需的额外 :-)
网络上有很多关于writing custom cmdlets 的信息,但作为粗略的指南,大概是这样的。用您选择的语言构建一个新的类库项目。添加对 System.Management.Automation.dll 的引用 - 您可以在 C:\Program Files\Reference Assemblies\Microsoft\Powershell\1.0 中找到它。创建一个继承自Cmdlet
的类并且 也具有Cmdlet
属性。覆盖 ProcessRecord 方法并添加代码以执行您需要执行的操作。要从 Powershell 传入参数,您需要将属性添加到您的类并用 Parameter
属性标记它们。它应该看起来像这样:
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
构建 DLL 后,您可以使用 Import-Module cmdlet 将其添加到 Powershell。
【讨论】:
@PhilPursglove - 谢谢。关于开始使用 Powershell for Appfabric 的任何见解?是否有任何书籍或教程可以指导初学者完成整个过程? @DotNetDude 看看mdcadmintool.codeplex.com - 这是一个位于 Powershell 命令之上的 GUI以上是关于用于从 Appfabric 缓存中删除项目的 Powershell 命令的主要内容,如果未能解决你的问题,请参考以下文章