Я использую PostSharp, чтобы добавить аспект к WebMethod.
Ниже мой аспект (он ничего не делает... не хочет компилироваться):
public class MyAspect : OnMethodBoundaryAspect, ISerializable
{
public override void OnException(MethodExecutionEventArgs eventArgs)
{
}
public override void OnEntry(MethodExecutionEventArgs eventArgs)
{
}
public void GetObjectData(SerializationInfo info, StreamingContext context)
{
}
}
И мой веб-метод выглядит так:
[MyAspect]
[WebMethod]
public void MyWebMethod()
{
//...
}
Когда я создаю проект, возникает ошибка:
Ошибка 346 PostSharp: Не удается сериализовать аспекты: Тип «xxxx.MyAspect» в сборке «zzzzz», версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = null 'n'est pas marqué comme serialisable.. unknown_location xxxxx
Он говорит мне, что мой аспект не помечен как сериализуемый...
Что я могу сделать? К вашему сведению, у меня нет проблем с такими аспектами в остальной части проекта.