用于从 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 命令的主要内容,如果未能解决你的问题,请参考以下文章

使用 c# 的 AppFabric 缓存示例 [关闭]

设置可用于 AppFabric 缓存的内存量

AppFabric 缓存配置和主机

Windows Server AppFabric 缓存

Windows Server AppFabric分布式缓存研究

缓存解决方案