2010-01-16 5 views
1

Silverlight 사용 가능 WCF 서비스에 대한 서비스 참조가있는 실버 라이트 응용 프로그램이 있습니다. WCF 객체를 "새로 만들려고"할 때 다음을 수행 할 때 생성자가없는 것에 대한 예외가 생깁니다.Activator.CreateInstance를 사용하여 WCF 개체 만들기

Activator.CreateInstance(type, true); 

그러나, 작동 방식 :

Activator.CreateInstance(type); 

이유가 무엇인가요?

답변

2

코드에 적절한 ReflectionPermission 비트 (아마도 ReflectionPermissionFlags.RestrictedMemberAccess)가없는 경우 비공개 멤버에 대한 기본 반성 검색이 폭탄을 터뜨립니다.

RestrictedMemberAccess매우 강력한 권한입니다 가능성 자체 및/또는 InternalsVisibleToAttribute에 의해 부여 아무 이상 반영하는 어셈블리의 수를 제외하고, 브라우저에서 실행되는 코드에 부여되지 않습니다. 예를 들어 Silverlight 런타임 라이브러리의 개인 멤버에 액세스하는 것은 기본 정책에 의해 금지됩니다.

관련 문제