如何通过Powershell在App Fabric上创建区域

时间:2012-03-06 22:50:31

标签: .net caching powershell appfabric

我认为标题很清楚,我在网上冲浪大约一个小时,但每一页都谈到了使用.net动态创建区域。我确信我们有一个命令可以在powershell上执行。你知道吗?

提前致谢,

1 个答案:

答案 0 :(得分:4)

没有开箱即用的Powershell命令行开关用于创建/管理区域。

解决方案 - 写一个!

正如丹尼尔里奇纳克在评论中所说,Powershell是.NET的封面,这意味着你可以编写额外的Powershell命令行来填补空白。

命令行开关是一个继承自System.Management.Automation.Cmdlet的常规类,它也使用System.Management.Automation.Cmdlet属性进行修饰。让它工作是一个覆盖ProcessRecord方法的问题。命令行参数作为类的属性实现,使用System.Management.Automation.Parameter属性进行修饰。因此,用于创建区域的命令行开关类似于:

using System.Management.Automation;
using Microsoft.ApplicationServer.Caching;

[Cmdlet(VerbsCommon.New, "CacheRegion")]
public class NewCacheRegion : Cmdlet
{
    [Parameter(Mandatory = true, Position = 1)]
    public string Cache { get; set; }
    [Parameter(Mandatory = true, Position = 2)]
    public string Region { get; set; }

    protected override void ProcessRecord()
    {
        base.ProcessRecord();

        DataCacheFactory factory = new DataCacheFactory();
        DataCache cache = factory.GetCache(Cache);

        try
        {
            cache.CreateRegion(Region);
        }
        catch (DataCacheException ex)
        {
            if (ex.ErrorCode == DataCacheErrorCode.RegionAlreadyExists)
            {
                Console.WriteLine(string.Format("There is already a region named {0} in the cache {1}.", Region, Cache));
            }
        }
    }
}