在Appfabric中以编程方式添加命名数据缓存

时间:2012-01-13 14:15:47

标签: caching appfabric

我想在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的

1 个答案:

答案 0 :(得分:3)

您实际上必须以管理员身份启动Visual Studio才能以编程方式创建缓存。