Как я говорю Виндзору добавлять, что Перехватчик ко всем компонентам зарегистрировал ту реализацию IMustBeIntercepted

Вы должны попробовать Laravel Snappy PDF

или мой второй любимый DOMPDF

. ] Laravel Snappy PDF

5
задан 7 January 2009 в 16:06
поделиться

2 ответа

Просто создайте интерфейс как это:

public interface IMustBeIntercepted {}

и средство как это:

public class InterceptionFacility : AbstractFacility {
    protected override void Init() {
        Kernel.ComponentRegistered += new Castle.MicroKernel.ComponentDataDelegate(Kernel_ComponentRegistered);
    }

    void Kernel_ComponentRegistered(string key, Castle.MicroKernel.IHandler handler) {
        if(typeof(IMustBeIntercepted).IsAssignableFrom(handler.ComponentModel.Implementation)) {
            handler.ComponentModel.Interceptors.Add(new InterceptorReference(typeof(TestInterceptor)));
        }
    }
}

Затем зарегистрируйте средство к контейнеру с помощью <facility> тег. Теперь все компоненты, который реализует IMustBeIntercepted будет прерван перехватчиком TestInterceptor.

5
ответ дан 14 December 2019 в 09:03
поделиться

Только что написал этого ребенка:

    public static BasedOnDescriptor WithInterceptor(this BasedOnDescriptor reg, string interceptorComponentName) {
        return reg.Configure(x=> x.Configuration(
                Child.ForName("interceptors").Eq(
                    Child.ForName("interceptor").Eq(
                        "${" + interceptorComponentName + "}"
                ))));
    }
2
ответ дан 14 December 2019 в 09:03
поделиться
Другие вопросы по тегам:

Похожие вопросы: