Comments 13
А какие-нибудь другие примеры использования PostSharp у вас есть?
У меня есть крайне положительный опыт использования PostSharp для кэширования, и я даже не могу с ходу придумать адекватной альтернативы для такого же простого и эффективного решения.
У меня есть крайне положительный опыт использования PostSharp для кэширования, и я даже не могу с ходу придумать адекватной альтернативы для такого же простого и эффективного решения.
0
Вот тут целый пост: habrahabr.ru/blogs/net/62232/
0
я видел много примеро аспектов, но вопрос был в удачности\неудачности, т.к. судить по одному неудачному примеру мне кажется преждевременно
0
Минусы действительно актуальны, по подобным же причинам в компании не используем PostSharp и прочие модификаторы IL, единственное что остается из АОП — использование для объектов, полученных через DI контейнер.
По поводу решарпера — очень рад, вы создаете документацию на API, а есть ли какие прогнозы на то, когда большая часть API будет покрыта документацией?
По поводу решарпера — очень рад, вы создаете документацию на API, а есть ли какие прогнозы на то, когда большая часть API будет покрыта документацией?
0
Моя проблема с PostSharp'ом была связана с огромным временем билдов. В итоге от него отказались.
0
У меня к вам вопрос про один из аспектов АОП: Логи, вернее трэйсинг.
Представте кучу лазанья кода писавшегося 8 лет. Ни Sequence diagram, ни даже внятных комментов. Я хочу разобраться как оно там работает, но не в дебагерре.
С помощью PostSharp и SmartInspector можно лего сделать так что я получу лог по требуемым функциям \ классам вида:
Что-то типа трейса, который как-бы заменит Sequence diagram.
Мне интересны способы реализации такой штуки с минимальным изменениям существующего кода. Это можно сделать с PostSharp с изменениями в IL или с помощью Unity в runtime.
Буду благодарен совету по данному вопросу.
PS. Спасибо за демонстрацию опасностей PostSharp.
Представте кучу лазанья кода писавшегося 8 лет. Ни Sequence diagram, ни даже внятных комментов. Я хочу разобраться как оно там работает, но не в дебагерре.
С помощью PostSharp и SmartInspector можно лего сделать так что я получу лог по требуемым функциям \ классам вида:
A::Foo( a=5, b="Hello") B::Boo( a = 5) Boo return 25 Foo return "Hello 25"
Что-то типа трейса, который как-бы заменит Sequence diagram.
Мне интересны способы реализации такой штуки с минимальным изменениям существующего кода. Это можно сделать с PostSharp с изменениями в IL или с помощью Unity в runtime.
Буду благодарен совету по данному вопросу.
PS. Спасибо за демонстрацию опасностей PostSharp.
0
Оупенсорс-проект на базе постшарпа
Оупенсорс-проект на базе Mono.Cecil
Обе меняют IL.
Второе — моё. Логирует через добавление атрибута [Log] в AssemblyInfo требуемого проекта. Ну и требуется руками создать инстанс логгера в статическом поле статического класса.
Изменения, имхо, минимальны :)
Оупенсорс-проект на базе Mono.Cecil
Обе меняют IL.
Второе — моё. Логирует через добавление атрибута [Log] в AssemblyInfo требуемого проекта. Ну и требуется руками создать инстанс логгера в статическом поле статического класса.
Изменения, имхо, минимальны :)
+2
На мой взгляд логирование и трейсинг — это единственное достойное применение PostSharpа, потому что его минимализм — заразен, и часто приносит больше проблем чем пользы
0
Попробуйте CThru (на основе Typemock Isolator — не меняет исходного кода, перехватывает вызовы через Profiler API)
0
Sign up to leave a comment.
Мой опыт с AOP и PostSharp