2010-04-02 2 views
5

Есть ли PowerShell команды для:команда Powershell для удаления элементов из кэша AppFabric

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

Я не знаком с хорошим блогом или учебником для начинающих, чтобы начать работу с Appafabric cachi ng.

Спасибо!

ответ

4

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

Однако ...

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

В Интернете есть много информации о 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, вы можете добавить его в Powershell с Import-Module командлета.

+0

@PhilPursglove - Спасибо. Любое понимание начала работы с Powershell для Appfabric? Существуют ли какие-либо книги или руководства для руководства новичком в процессе? – DotnetDude

+0

@DotNetDude Посмотрите http://mdcadmintool.codeplex.com/ -it - графический интерфейс, который находится поверх команд Powershell – PhilPursglove

Смежные вопросы