Я хочу использовать с [ Dependency] в моих службах, регистрируя компоненты в точке входа при запуске службы Windows.
Пример:
Код: Выделить всё
static class Program
{
static void Main()
{
ServiceBase[] ServicesToRun;
UnityConfig.RegisterComponents();
ServicesToRun = new ServiceBase[]
{
new EventChecker()
};
ServiceBase.Run(ServicesToRun);
}
}
public static class UnityConfig
{
public static void RegisterComponents()
{
UnityContainer container = new UnityContainer();
container.RegisterType();
}
}
public partial class EventChecker : ServiceBase
{
private Logger LOG = LogManager.GetCurrentClassLogger();
[Dependency]
public Lazy EventBL { get; set; }
protected override void OnStart(string[] args)
{
var events = EventBL.Value.PendingExecution(1);
}
}
Спасибо!
Решение найдено:
После того, как я написал ответ, я нашел возможное решение, вызвав метод создания контейнера для создания класса обслуживания: р>
Код: Выделить всё
UnityContainer container = new UnityContainer();
UnityConfig.RegisterComponents(container);
ServiceBase[] ServicesToRun;
ServicesToRun = new ServiceBase[]
{
container.BuildUp(new EventChecker())
};
ServiceBase.Run(ServicesToRun);
Подробнее здесь: https://stackoverflow.com/questions/251 ... s-possible
Мобильная версия