Доступ к API Sitecore из инструмента CLI - PullRequest
4 голосов
/ 08 июля 2011

Я хотел бы получить доступ к API Sitecore из инструмента командной строки (с целью экспорта некоторой информации о пользователях в базе данных), однако я не смог подключить простую программу CLI.

Чтобы привести простой пример

using Sitecore;
using Sitecore.Configuration;
using Sitecore.Data;
using Sitecore.Data.Items;

...

    static void Main(string[] args)
    {
        Sitecore.Data.Database master = Sitecore.Configuration.Factory.GetDatabase("master");
        Console.WriteLine(master.Items.ToString());
    }

В нынешнем виде я получаю следующее исключение

Unhandled Exception: System.InvalidOperationException: Could not read Sitecore configuration.
    at Sitecore.Configuration.Factory.GetConfiguration()
    at Sitecore.Configuration.Factory.GetConfigNode(String xpath, Boolean assert)
    at Sitecore.Configuration.Factory.CreateObject(String configPath, String[] parameters, Boolean assert)
    at Sitecore.Configuration.Factory.CreateObject(String configPath, Boolean assert)
    at Sitecore.Configuration.Factory.GetDatabase(String name, Boolean assert)
    at Sitecore.Configuration.Factory.GetDatabase(String name)
    at Example.Program.Main(String[] args)

Я предполагаю, что это связано с неспособностью системы найти соответствующийФайл web.config (неудивительно, так как я никогда не говорил, где он находится), однако я не вижу способа настроить это, чтобы указать, где искать.

Итак, как я могу настроить Sitecore, чтобы найти его web.configфайл, или, как я должен подходить к этой проблеме по-другому, чтобы получить доступ к Sitecore API из инструмента командной строки?

1 Ответ

3 голосов
/ 08 июля 2011

Это может быть возможно с помощью App.Config (я не могу подтвердить или опровергнуть), но вам будет намного легче делать это через веб-сервис. Вероятно, проще всего было бы создать пользовательский веб-сервис с необходимой логикой и использовать CLI для вызова / запуска службы.

...