Я пытаюсь создать вспомогательное расширение MVC html, которое должно быть объявлено как статический класс, примерно так:
public static class PhotoExtension
{
public static IPhotoService PhotoService { get; set; }
public static IGalleryService GalleryService { get; set; }
public static MvcHtmlString Photo(this HtmlHelper helper, int photoId, string typeName)
{
//[LOGIC GOES HERE]
return new MvcHtmlString(..some resulting Html...);
}
}
Теперь я хочу использовать IPhotoService и IGalleryService внутри этого метода Photo()
. До сих пор я нашел единственный способ внедрить эти сервисы в AppHost.Configure():
PhotoExtension.PhotoService = container.Resolve<IPhotoService>();
PhotoExtension.GalleryService = container.Resolve<IGalleryService>();
Это работает, хотя мне любопытно, есть ли лучший способ добиться этого.
И IPhotoService
, и IGalleryService
регистрируются стандартным образом в AppHost.Configure()
.
Спасибо, Антонин