Команда Powershell для удаления элементов из кеша Appfabric

Существуют ли команды powershell для:

  1. Получить список элементов в кеше
  2. Удалить определенный элемент
  3. Удалить все элементы
  4. Изменить значение для определенного ключа

Я не нашел хорошего блога или учебника для начинающих, чтобы начать работу с администрированием кэширования Appfabric.

Спасибо!


person DotnetDude    schedule 02.04.2010    source источник


Ответы (1)


К сожалению, нет :-( В настоящее время команды PowerShell нацелены на более высокий уровень детализации.

Тем не мение...

Вы можете написать свои собственные командлеты PowerShell, так что вы можете добавить дополнительные, которые вам нужны :-)

В Интернете есть много информации о написании пользовательских командлетов но в качестве приблизительного руководства это будет примерно так. Создайте новый проект библиотеки классов на выбранном вами языке. Добавьте ссылку на 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, вы можете добавить ее в Powershell с помощью командлета Import-Module.

person PhilPursglove    schedule 02.04.2010
comment
@PhilPursglove - Спасибо. Есть какие-нибудь идеи о том, как начать использовать Powershell для Appfabric? Существуют ли какие-либо книги или учебные пособия, которые помогут новичку пройти через этот процесс? - person DotnetDude; 05.04.2010
comment
@DotNetDude Взгляните на mdcadmintool.codeplex.com — это графический интерфейс, который находится поверх команд Powershell. - person PhilPursglove; 05.04.2010