我想在appfabric中以编程方式添加命名数据缓存。 我一直遵循以下代码: -
try
{
//This can also be kept in a config file
var config = new DataCacheFactoryConfiguration();
config.SecurityProperties = new DataCacheSecurity();
config.Servers = new List<DataCacheServerEndpoint> { new DataCacheServerEndpoint(Environment.MachineName, 22233) };
DataCacheFactory dcf = new DataCacheFactory(config);
if (dcf != null)
{
var state = InitialSessionState.CreateDefault();
state.ImportPSModule(new string[] { "DistributedCacheAdministration", "DistributedCacheConfiguration" });
state.ThrowOnRunspaceOpenError = true;
var rs = RunspaceFactory.CreateRunspace(state);
rs.Open();
var pipe = rs.CreatePipeline();
pipe.Commands.Add(new Command("Use-CacheCluster"));
var cmd = new Command("New-Cache");
cmd.Parameters.Add(new CommandParameter("Name", "Vaibhav"));
cmd.Parameters.Add(new CommandParameter("Expirable", false));
pipe.Commands.Add(cmd);
var output = pipe.Invoke();
}
}
catch (Exception e)
{
//throw new Exception
}
但是当我尝试访问DataCache(使用:dcf.GetCache("Vaibhav");
)时,这没有按预期工作,它提供了Cache not found错误。当我使用powershell创建缓存时,它工作正常,我能够访问缓存,但我想实现这个程序而不是命令提示符(powershell)
请建议一个正确的方法来实现这个....
先谢谢 Vaibhav的
答案 0 :(得分:3)
您实际上必须以管理员身份启动Visual Studio才能以编程方式创建缓存。