2010-11-22 4 views
2

저는 PostSharp를 사용하여 WebMethod에 애스펙트를 추가하고 있습니다. (컴파일하지 않으려는 ... 아무것도하지 않습니다) 아래 포스트 셰이프 : OnMethodBoundaryAspect 및 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) 
    { 

    } 
} 

을 그리고 내의 WebMethod 보이는 같은 :이

[MyAspect] 
    [WebMethod] 
    public void MyWebMethod() 
    { 
     //... 
    } 

내가 프로젝트를 빌드,

Erreur 346 PostSharp : Le 유형 'xxxx.MyAspect'dans l 어셈블리 'zzzzz, 버전 = 1.0.0.0, 문화 = 중립, PublicKeyToken = null'n'est pas marqué 시 에리아 검은 담비 .. unknown_location xxxxx는

그것은 내 측면이 직렬화로 태그되지 않는다는 것을 알려줍니다 ...

내가 무엇을 할 수 있습니까? 참고로, 저는 프로젝트의 나머지 부분에서 그런면에 아무런 문제가 없습니다.

답변

3

Serializable 속성을 MyAspect에 추가해야합니다. 따라서 :

[Serializable] 
public class MyAspect : OnMethodBoundaryAspect 

ISerializable 인터페이스를 상속하는 대신. 차이점은 this question을 참조하십시오.

+2

.... 저는 용서할 수 없습니다 .... 2 시간을 잃었습니다 ... –