4.1. Сервисы Umbraco

Bспользование сервисного API Umbraco

Dсякий раз, когда вам не нужно изменить сущность в базе данных Umbraco, для этого можно использовать сервисное API. Это означает, что вы можете создавать, обновлять и удалять любые ключевые сущности Umbraco прямо из вашего кода.

Доступ к сервисам Umbraco.

Чтобы использовать API, вначале необходимо получить доступ к ним. Это делается с помощью ApplicationContext,  который предоставляет доступ ко всему, что связано с приложением Umbraco.

Доступ через контроллер

Для того чтобы получить доступ к сервисам Umbraco внутри вашего контроллера, необходимо чтобы ваш контроллер был унаследован от одного из базовых контроллеров Umbraco. Тогда доступ ко всем сервисам можно получить с помощью Services:
public class EventController : Umbraco.Web.Mvc.SurfaceController
{
    public Action PerformAction()
    {
       var content = Services.ContentService.GetById(1234);
    }
}

Доступ через ApplicationEventHandler

Если мы подписанный на событие ApplicationStarted, тогда мы имеем доступ и к контексту, который в свою очередь предоставляет нам доступ к классу .Services , а он содержит все доступные сервисы.
public class EventHandler : Umbraco.Core.ApplicationEventHandler
{
    protected override void ApplicationStarted(UmbracoApplicationBase umbracoApplication, ApplicationContext applicationContext)
    {
        var c = applicationContext.Services.ContentService.GetById(1234);
        applicationContext.Services.ContentService.Delete(c);
    }
}

Доступные сервисы

В следующих разделах будет описан полный API для следующих ключевых сущностей Umbraco:
  • ContentService
  • ApplicationTreeService
  • DataTypeService
  • EntityService
  • FileService
  • LocalizationService
  • MacroService
  • MediaService
  • MemberService
  • MemberTypeService
  • MemberGroupService
  • ContentTypeService