Вы должны установить синглтон «Umbraco.Core.Persistence.SqlSyntax.SyntaxConfig».

Я пытаюсь использовать Umbraco ContentService во внешнем приложении MVC.

В моем контроллере:

var contentService = new ContentService();
var document = contentService.GetById(idofdocumenthere);

Я поместил свою строку подключения umbraco в файл web.config с помощью providerName="System.Data.SqlClient.

Это ошибка, которую я получаю после запуска этого кода:

You must set the singleton 'Umbraco.Core.Persistence.SqlSyntax.SyntaxConfig' 
to use an sql syntax provider

Parameter name: SqlSyntaxProvider

Я также проверил эту ссылку, но это не сработало.

Заранее спасибо!


person Sllix    schedule 28.02.2014    source источник


Ответы (1)


Не создавайте новый экземпляр ContextService, используйте ApplicationContext.Current.Services.ContentService.

person dampee    schedule 28.02.2014
comment
Вы имеете в виду: ApplicationContext.Current.Services.ContentService, но ApplicationContext.Current всегда имеет значение null. Как я могу это исправить? - person Sllix; 03.03.2014
comment
Да, я имел в виду .current! Исправлено выше :-) Оно не может быть нулевым, если вы работаете в веб-контексте. Если он равен нулю, веб-приложение загрузилось неправильно! ApplicationContext.Current, когда IIS запускает веб-сайт. - person dampee; 04.03.2014