문제

나는 지금까지, 나는 아마도 중간 신뢰로 실행되는 웹 사이트와 관련된 문제를 본 적이 없다는 점에서 운이 좋았을 것입니다. 나는 인트라넷 앱 만 개발했거나 완전한 신뢰로 운영되는 호스팅 회사를 사용한 적이 있습니다. 그러나 최근 프로젝트를 사용하여 Medior Trust에서 실행하도록 요청받은 호스트는 앱을 실행하려고합니다. 몇 가지 질문 - 나는 Windows XP에서 발전합니다. IIS는 Medium Trust (Dephoming Debug) 및/또는 web.config 설정으로 구성 될 수 있습니까? 이 주제에 대한 풍부한 정보가 있으며 학습 곡선은 가파르고 있습니다.

둘째, 코드를 많이 피하고 제거한 후이 라인이 권한 오류를 일으킨다 고 생각합니다.

각 FieldInfo에 대해 type.getFields의 FieldInfo로서

누구나 이것이 가능한 후보자임을 명확히 할 수 있습니까? 그 비 공개 깃발? 이것은 사본 및 붙여 넣기 코드 (코딩 공포가 이것의 위험을 강조 함)이므로 실제로 생각한 적이 없습니다. 나는 루프가 공공 및 비공개 필드 모두의 객체의 각 필드를 통과한다고 가정하고, 보호 된 필드는 중간 신뢰에 대한 반영으로 금지되어 있음을 읽었습니다.

건배, 롭.

도움이 되었습니까?

해결책

죄송합니다. 비공개에 대한 반사는 완전한 신뢰와 동일합니다.

어쨌든 내가 완전한 신뢰를 가지고 있지 않았지만 비공개 반사가 있다면, 나는 그것을 내 자신의 코드 신뢰 수준 (쓰기 가능한 문자열 등)으로 바꿀 수 있습니다.

다른 팁

예, XP의 웹 사이트는 중간 신뢰로 실행되도록 구성 할 수 있습니다.

에서u003Csystem.web> 섹션 다음을 추가합니다.

<!-- Case is important: it's Medium, not medium -->
<trust level="Medium"/>

그리고 당신은 거기에 있습니다.

당신이 찾을 수있는 것은 대부분의 호스트가 사이트를 약간 높은 "중간"신뢰 설정으로 실행하고 기본값을 넘어서 추가 권한을 부여한다는 것입니다.

살펴 보면 :

C:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\web_mediumtrust.config

적용되는 기본 설정이 표시됩니다.

반사는 중간 신뢰에 제한된 주요 사항 중 하나입니다. getfields 페이지:

요청 된 필드가 비공개이고 발신자가 현재 어셈블리 외부의 비 공개 객체를 반영 할 수있는 반사율이없는 경우이 메소드는 NULL 참조를 반환합니다 (Visual Basic에서는 아무것도 없음).

이것은 Null을 반환 할 가능성이 있으므로 반복을 시작하기 전에 NULL을 점검해야하거나 FieldInfo가 사용하기 전에 NULL/아무것도 아닌지 확인해야 할 것입니다.

나는 아무도 대답하지 않은 것처럼 이것을 닫을 것입니다. 또한 시도하고 다시 코딩하기에는 너무 문제가있는 것으로 판명되었습니다. 이 프로그램은 잘못 작성되지 않았지만 객체 매핑을 위해 반사를 매우 많이 사용하고 솔직히 말하면 전체 신뢰를 지원하는 호스팅 회사를 찾는 것이 더 쉽습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top