2009-04-28 7 views
5

다음 코드 조각의 용도는 무엇입니까? :조립 증거

object[] hostEvidence = {new Zone(SecurityZone.Internet)}; 
Evidence internetEvidence = new Evidence(hostEvidence, null); 
AppDomain myDomain = AppDomain.CreateDomain("MyDomain"); 
myDomain.ExecuteAssembly("SecondAssembly.exe", internetEvidence); 

CLR 을 알고있는 한 자동으로 (Windows에 묻습니다)에서는 어셈블리가 실행되는 위치에 따라 영역을 할당합니다 기계, 인터넷 요법 ...). 어셈블리에 대한 사용 권한을 줄이려는 의도 였지만 두 가지 증거가있는 경우 지정된 정책 수준에서 인 두 개의 코드 그룹이 있습니다.

친절 감사 PK

답변

1

. 따라서이 방법으로 필요한 영역을 명시 적으로 정의 할 수 있습니다.

내가 틀릴 수도 있지만 자동으로 영역을 할당하는 CLR을 인식하지 못합니다.

+0

CLR은 자동으로 영역을 할당하지 않으므로 파일의 위치와 기본 보안 정책에 따라 더 많은 영역을 가정합니다. 예. 내 로컬 컴퓨터에서 파일을 실행하는 경우 완전히 신뢰할 수있는 것으로 간주됩니다. – BinaryMisfit

+1

할당하지 않지만 Windows에 영역 정보를 묻습니다. – pkolodziej

+2

CLR이 어셈블리에 대한 영역 증명을 얻는 방법에 대한 기사는 다음과 같습니다. http://blogs.msdn.com/shawnfa/archive/2006/05/12/596419.aspx – pkolodziej

0

이 ExecuteAssembly 메서드의 오버로드는 대신 새 증거를 자동으로 할당 된 제공된 증거를 사용합니다. 그렇지 않으면, 무슨 요점이 될 것입니까?