Итак, я столкнулся с this issue с бундстрапом Windsor для Нэнси. Мне удалось сверлить небольшой тестовый проект, где я могу воспроизвести то, что происходит не так. Вы можете найти проект here.Замок Виндзор Конфигурация IInterceptor (ошибка Нэнси)
Что, кажется, идет не так это: DynamicProxy только кажется, поймать вызов метода void Handle(Action<string> oncomplete)
и не string Handle(string input)
метод, который называется
на другом потоке
.
Как будто
Царапины: это просто вызов другого метода в том же классе, который не проксирован.Engine
больше не проксирован после того, как он был отправлен в другой поток.
Это означает, что выход из программы только
Handled Handle with return type System.Void
test
и не
Handled Handle with return type System.Void
Handled Handle with return type System.String
test
Это ожидаемое поведение динамических прокси? Эти прокси на другом потоке не длиннее, ну, прокси? Или что-то не так с кодом?
EDIT: Только RTFM'd Динамический прокси, и ему кажется Works As Intended. Теперь как мне настроить экземпляр IEngine для использования правильного типа прокси?
К сожалению, ссылка на мой проект не был на правильной редакции. В ревизии, на которую вы смотрели, действительно содержался рабочий код, но я действительно не хочу подклассировать «Двигатель», как я сделал в ревизии, на которую вы смотрели. – Lodewijk
Правильно ли работает ссылка? – Marwijn
Jep, только что отредактировал его. Дело в том, что если я перейду в подкласс Engine, тогда мне больше не нужен DynamicProxy. Поэтому я хочу избежать этого, если возможно – Lodewijk