2010-04-29 4 views
0

XML 구성 파일이 필요한 타사 .NET 구성 요소를 사용하고 있습니다. ASP.NET 응용 프로그램에서이 코드를 사용하고 있습니다.이 XML 문서에서 DTD는 금지되어 있습니다 - 사용 권한을 변경하는 방법은 무엇입니까?

<!DOCTYPE prod-config SYSTEM "cache-config.dtd"> 

오류는 다음과 같다 :

For security reasons DTD is prohibited in this XML document. To enable DTD processing set the ProhibitDtd property on XmlReaderSettings to false and pass the settings into XmlReader.Create method.

자극-config.dtd이 같은 디렉토리에 앉아 다음 DTD와 XML을 구성 할 때

는 오류가 발생합니다 XML 설정 파일.

는 ProhibitDtd 등 에 액세스 할 내가 거기에 수정 또는 DTD를 허용하도록 XML 파일에 태그를 지정할 수 anotherway

내가 XmlReaderSettings를 수정하는 구성 요소 코드에 액세스 할 수없는가요 ?

(참고로, 구성 요소가 Oracle Coherence는 .NET 클라이언트가)

답변

0

전혀 DTD를 지정해야합니까? 실제로 아무 것도 사용하지 않으면 DTD 선언을 모두 생략하는 것이 가장 간단합니다.

Ths page 오라클의 사이트에 따르면이 구성 요소는 .NET 1.1에서만 지원됩니다. 기본적으로 거부하는 DTD의 동작은 .NET 1.1과 .NET 2.0 사이에서 변경된 것으로 생각됩니다. .NET 2.0으로 실행하려는 경우 다운 그레이드를 시도하는 것이 좋습니다. 1.1을 나란히 설치하면 일 수 있지만 원하는 런타임 버전을 사용하도록 구성을 해킹 할 수 있습니다.

+0

오류 : 'cache-config'요소에 대한 스키마 정보를 찾을 수 없습니다. – frankadelic

+0

.NET 1.1과 .NET 2 사이에서이 동작이 변경되었다고 생각합니다.이 구성 요소가 .NET 1.1에서만 지원 될 수 있습니까? –

+0

.NET 2.0 구성 요소입니다. – frankadelic

0

FWIW,이 같은 오류가 있고, 나는에 라인을 변경 :

<!DOCTYPE prod-config "cache-config.dtd"> 

오류를 해결했습니다. 왜 그런지 모르겠다. 아마도 이것 때문에 더 많은 오류가 발생할 것이다.

+0

그리고 아시겠지만 다시 작동하지 않습니다! XML과 Microsoft = 못생긴 혼합. 우리는 왜 DTD가 필요한가? 심지어 DTD 란 무엇입니까? –

관련 문제