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

Есть ли powershell команды к:

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

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

Спасибо!

5
задан PhilPursglove 2 April 2010 в 23:02
поделиться

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.

4
ответ дан 15 December 2019 в 00:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: