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