2012-09-03 3 views
4

에서 오래된 데이터를 읽습니다. 그것은 여전히 ​​이전 하나에서 데이터를 읽습니다! 나는 그것이 현금으로 바꾸는 사본에서 읽는 지 아닌지 모르겠다.내 응용 프로그램은이 같은 XML 파일에서 데이터를 읽을 xml 파일

iis을 재설정하면 데이터가 업데이트됩니다.

이 문제를 해결하는 방법은 무엇입니까?

+1

변수 경로의 유형은 무엇입니까? –

+2

Visual Studio 솔루션에서 간단한 "빌드"를 수행하면 IIS가 업데이트되지 않는 경우가 자주 있습니다. 대부분의 경우 IIS가 내 변경 사항을 인식하도록 "다시 작성"해야했습니다. –

+0

'https : // www ...../..../a.xml' –

답변

3

빠른 해킹. path 가정

는 URL을 포함하는 문자열이 일어나고 중간 캐싱하고, URL의 shouldn '의 ?의 사용을 물리 칠 것

XDocument xmlDoc = XDocument.Load(path + "?" + Guid.NewGuid().ToString();); 

이에

XDocument xmlDoc = XDocument.Load(path); 

을 변경할 수있다 t 데이터를 요구하는 서버를 뒤집습니다.

(Guid.NewGuid()는 임의의 문자열을 얻을 수있는 빠른 방법입니다. 당신이 원하는 경우 쉽게 유사한 방식으로 Random 클래스 또는 DateTime.Now.Ticks를 사용할 수 있습니다.)

5

아마 DefaultCachePolicy를 설정해야합니다. 여기에서

WebRequest.DefaultCachePolicy = new 
RequestCachePolicy(RequestCacheLevel.Revalidate); 
XmlDocument xmlDocument = new XmlDocument(); 
xmlDocument.Load(myUri); 

: http://www.pcreview.co.uk/forums/stop-xmldocument-load-using-cached-data-t3489418.html

+0

이 안전한 코드입니까? –

+0

** Revalidate **'타임 스탬프가 서버에있는 리소스의 타임 스탬프와 동일한 경우 캐시 된 리소스 복사본을 사용하여 요청을 만족시킵니다. 그렇지 않으면 자원이 서버에서 다운로드되어 호출자에게 제공되고 캐시에 저장됩니다. 'http://msdn.microsoft.com/en-us/library/system.net.cache.requestcachelevel%28v=vs.80%29.aspx – athoik

+0

같은 문제 !! –

관련 문제