Добавление именованного кэша данных программно в Appfabric - PullRequest
2 голосов
/ 13 января 2012

Я хочу добавить именованный кеш данных программно в 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 Ответ

3 голосов
/ 16 января 2012

Вы на самом деле должны запустить Visual Studio от имени администратора, чтобы иметь возможность создавать кэш программно.

...