是否有 powershell 命令:
- 获取缓存中的项目列表
- 删除特定项目
- 删除所有项目
- 更改特定键的值
我还没有为初学者找到一个很好的博客或教程来开始使用 Appfabric 缓存管理。
谢谢!
不幸的是,不是 :-( 目前 PowerShell 命令的目标是更高级别的粒度。
然而...
您可以编写自己的 PowerShell cmdlet,以便添加所需的额外 :-)
网上有很多关于编写自定义 cmdlet的信息,但作为粗略的指南,它会是这样的。用您选择的语言构建一个新的类库项目。添加对 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。