Ninject: Один экземпляр перехватчика на один перехватываемый экземпляр класса?

StackOverflow https://stackoverflow.com/questions/5353476

Вопрос

У меня в настоящее время проблема, я пытаюсь подключить ровно один экземпляр перехватчика к одному экземпляру перехватываемого класса.

Я создаю Advice в InterceptorRegistrationStrategy и устанавливаю обратный вызов для разрешения перехватчика из ядра (у него есть конструктор внедрения).Обратите внимание, что я могу создать экземпляр перехватчика только в обратном вызове, потому что InterceptorRegistrationStrategy не имеет ссылки на само ядро.

родовое слово

Я получаю экземпляр перехватчика для каждого метода.

Есть ли способ создать по одному экземпляру перехватчика для каждого перехватываемого экземпляра типа?

Я думал о Named Scope, но перехватываемый тип и перехватчик не ссылаются друг на друга.

Это было полезно?

Решение

Это невозможно, поскольку для каждого метода создается один перехватчик для всех экземпляров привязки.

Но вы можете не выполнять код перехвата непосредственно в перехватчике, а получить экземпляр класса, который будет обрабатывать перехват.

родовое слово

Другие советы

Вы пробовали использовать Fluent API для настройки перехвата?

родовое слово

Примечание.Метод расширения Intercept() находится в Ninject.Extensions.Interception.Infrastructure.Language.ExtensionsForIBindingSyntax

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top