我认为标题很清楚,我在网上冲浪大约一个小时,但每一页都谈到了使用.net动态创建区域。我确信我们有一个命令可以在powershell上执行。你知道吗?
提前致谢,
答案 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));
}
}
}
}