Здравствуйте!

Подскажите, как можно переопределить класс с атрибутом DefaultBinding?

Если я делаю класс наследник с атрибутом [Override] то он не вызывается, если я еще раз задаю классу атрибут то выходит ошибка

Ошибка создания экземпляра класса "Terrasoft.Configuration.FileImport.IImportStageFactory" ---> Ninject.ActivationException: Error activating IImportStageFactory

More than one matching bindings are available.

 

Класс родитель:

Изображение удалено.

Создание из фабрики:

Изображение удалено.

Класс наследник:

Изображение удалено.

 

Нравится

1 комментарий
Лучший ответ

Добрий день!

 

Необходимо создать свой AppEventListener и в нем перебиндить ваш класс к необходимому интерфейсу.

public class UsrAppEventListener : AppEventListenerBase
{
    public override void OnAppStart(AppEventContext context) {
        base.OnAppStart(context);
        ClassFactory.Bind<IImportStageFactory, UsrImportStageFactory>();
    }
}

 

Добрий день!

 

Необходимо создать свой AppEventListener и в нем перебиндить ваш класс к необходимому интерфейсу.

public class UsrAppEventListener : AppEventListenerBase
{
    public override void OnAppStart(AppEventContext context) {
        base.OnAppStart(context);
        ClassFactory.Bind<IImportStageFactory, UsrImportStageFactory>();
    }
}

 

Показать все комментарии

Добрый день! Недавно задался таким вопросом. А возможно ли в bpm использовать DI, как, например, в ASP.NET? Нагуглить ничего не смог, поэтому обращаюсь сюда.)

Нравится

1 комментарий

Тимофей, в ядре используется, есть пространство Terrasoft.Core.DI. 

В конфигурации примеров его применения нет.

 

Показать все комментарии

/*
Вывести зависимость выбранного пакета от других пакетов
*/

SELECT DependingPackage.Name AS 'Пакет', DependedPackage.Name AS 'Зависит от пакетов' FROM SysPackageDependency
INNER JOIN SysPackage AS DependedPackage ON DependedPackage.Id = SysPackageDependency.DependOnPackageId
INNER JOIN SysPackage AS DependingPackage ON DependingPackage.Id = SysPackageDependency.SysPackageId
WHERE SysPackageId =
(
SELECT id FROM SysPackage WHERE Name = 'Custom' --введите название пакета
)
ORDER BY DependedPackage.Name

http://i.piccy.info/i9/6666e8ff13a10ff68305bde3b011c958/1434210764/12075/772387/image2015_4_18_12_13_39.png

/*
Вывести зависимые пакеты от указанного пакета
*/

SELECT DependedPackage.Name AS 'Пакет', DependingPackage.Name AS 'Зависимые пакеты' FROM SysPackageDependency
INNER JOIN SysPackage AS DependedPackage ON DependedPackage.Id = SysPackageDependency.DependOnPackageId
INNER JOIN SysPackage AS DependingPackage ON DependingPackage.Id = SysPackageDependency.SysPackageId
WHERE DependOnPackageId =
(
SELECT id FROM SysPackage WHERE Name = 'Base' --введите название пакета
)
ORDER BY DependingPackage.Name

http://i.piccy.info/i9/3ba59b1a74bbc34f0ccb9ef5ab75c916/1434210782/9991/772387/image2015_4_18_12_12_56.png

Нравится

Поделиться

0 комментариев
Показать все комментарии