Описанный процесс в основном позволяет инициализировать некоторые поля вашего аспекта во время компиляции, а затем десериализация будет просто восстанавливать значения каждый раз, когда запускается программа. Это может повысить производительность во время выполнения, если вычисления полей дороги - вы можете просто запустить их один раз во время компиляции.
Например, вы можете создать строку формата аспекта ведения журнала во время компиляции, так как у вас уже есть информация о имени метода, параметрах, типах.
Весь аспект жизненного цикла подробно описана на этой странице: http://doc.postsharp.net/content/aspect-lifetime
Однако в тех случаях, когда вам не нужно делать компиляции инициализации времени, это может быть лучше избегать шагов сериализации. PostSharp позволяет это сделать с помощью MsilAspectSerializer
- это фактически будет генерировать инструкции для вызова конструктора и установки свойств и полей.
Этот случай документирован здесь: http://doc.postsharp.net/content/aspect-serialization
[OnMethodBoundaryAspectConfiguration(SerializerType=typeof(MsilAspectSerializer))]
public sealed MyAspect : OnMethodBoundaryAspect
{
//
}