5

是否有 powershell 命令:

  1. 获取缓存中的项目列表
  2. 删除特定项目
  3. 删除所有项目
  4. 更改特定键的值

我还没有为初学者找到一个很好的博客或教程来开始使用 Appfabric 缓存管理。

谢谢!

4

1 回答 1

4

不幸的是,不是 :-( 目前 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。

于 2010-04-02T22:59:35.047 回答