2010-12-10 3 views
3

MVC/IE8에서 정말 이상한 문제가 발생했습니다. 누군가가 이와 비슷한 것을 본 적이 있는지 궁금합니다. http://application.mycompany/Controller.aspx/Action/ID1/ID2 (IIS의 버전으로 인해 경로에서 .aspx를 사용 중입니다) 형식의 Excel 스프레드 시트를 반환하는 URL이 있습니다. 이것은 응용 프로그램이있는 페이지에서 열립니다. 또한 HTML 본문을 가진 전자 메일에는 링크가 포함되어 있으며이 링크와 다른 링크는 모두 괜찮습니다. "application.mycompany에서 ID2를 다운로드 할 수 없으므로 IE에서 사이트를 열 수 없다는 오류가 발생합니다. ". 전자 메일의 HTML과 작동하는 페이지의 링크 위치를 확인한 결과 동일합니다. IE의 주소 표시 줄에 정확한 링크 텍스트를 입력 (또는 복사하여 전자 메일에서 붙여 넣기)하면 다시 실패하지만, 끝에있는 addres 바에서 같은 텍스트를 클릭하면 두 번째로 Enter 키를 누릅니다. 파일을로드하고 침을 뱉습니다. 파이어 폭스에 똑바로 붙이면 잘 작동하는 것처럼 보이지만 필자는 원격으로 작업 중이므로 Firefox를로드하지 않고 링크를 클릭하여 확인할 수없고 citrix 데스크탑에는 Firefox가 없으며 다른 사람을 찾을 수 없습니다. 그들의 기본 브라우저 (하지만 그것은 처음으로 작동, 나는 괜찮을 것이라고 상상할 것입니다).매우 이상한 ASP.NET MVC 및 IE8 링크/URL 문제

혹시이 문제가 발생했거나 어떤 아이디어가 있었습니까? 이 문제는 둘 이상의 컴퓨터에서 발생하므로 이상한 추가 기능/설정이 아닌 한 알 수 있습니다.

감사

MH

---------------------------- 업데이트 ------- ---------------- 나는 Fiddler를 사용하여 무슨 일이 일어나고 있는지, 두 요청에 대한 응답은 타임 스탬프와 별개로 동일하다는 것을 알았습니다. 실패 응답 : -

HTTP/1.1 200 OK 
Cache-Control: no-cache 
Pragma: no-cache 
Content-Type: application/vnd.ms-excel; charset=utf-8 
Expires: -1 
Server: Microsoft-IIS/7.0 
X-AspNetMvc-Version: 1.0 
content-disposition: attachment;filename=Filename.xls 
X-AspNet-Version: 2.0.50727 
X-Powered-By: ASP.NET 
Date: Mon, 20 Dec 2010 10:31:52 GMT 
Content-Length: 2354 

<style type"text/css">.text { mso-number-format:\@; } .TableHead { background-color: #BDBDBD; } </style> 
....confidential file content removed 

성공적인 응답 : -

HTTP/1.1 200 OK 
Cache-Control: no-cache 
Pragma: no-cache 
Content-Type: application/vnd.ms-excel; charset=utf-8 
Expires: -1 
Server: Microsoft-IIS/7.0 
X-AspNetMvc-Version: 1.0 
content-disposition: attachment;filename=Filename.xls 
X-AspNet-Version: 2.0.50727 
X-Powered-By: ASP.NET 
Date: Mon, 20 Dec 2010 10:32:18 GMT 
Content-Length: 2354 

<style type"text/css">.text { mso-number-format:\@; } .TableHead { background-color: #BDBDBD; } </style> 

와 그냥, 내가 두 번째 요청을 생성 할 수있는 유일한 일을 반복 할 수는 주소 표시 줄에 URL 텍스트를 클릭하는 것입니다 첫 번째 요청을 생성하고 Enter 키를 누릅니다.

오류가 발생했습니다 ""Internet Explorer는이 인터넷 사이트를 열 수 없습니다. 요청한 사이트를 사용할 수 없거나 찾을 수 없습니다. 나중에 다시 시도하십시오. "

+1

업데이트 만 다른 컴퓨터에서 테스트되었으며 IE에서 이와 똑같은 동작이 발생하지만 기본 브라우저를 크롬으로 변경하면 링크가 처음 열립니다. –

답변

1

인용하려면 similar discussion on the Sitepoint forums.

그것의 캐싱, 당신이 선택하면 노 캐시 IE 수 ' 파일을 찾으면 그것을 저장하지만 캐싱을 허용하면 이 작동합니다. 같은 파일로 짜증나는 서로 다른 시간에 다운로드 할 수 수 있으며, 상황이 가 변경된 경우 잘 다를 수 있습니다, 그래서 캐싱은 조금 위험 (내가 이를 방지하기 위해 타임 스탬프와 함께 파일 이름 접미사해야합니다 I 생각한다). http://support.microsoft.com/kb/316431 이렇게 수정했습니다. Response.Cache.SetCacheability (HttpCacheability.은밀한); 하지만 때로는 웹 페이지 링크

에서 ESP 직접 작동 왜 아직 설명하지 않습니다 "이 동작은 의도적으로입니다"- 번역 "우리가이 얻을 와 CBA를 동작하지 않습니다 그것은 "작업 - 놀라운 파이어 폭스, 오페라와 크롬은 어떻게하지 이이 문제 ......

0

나는 문자 많은 수의 IE + 아웃룩 + 흔한 링크 주변에 일부 wierdness 봤어요. 128 자보다도 흔한 링크가 IE + 전망 작동하지 않습니다.

를 내가 시도 할 것 당신이 더 신뢰할 수 얻을 수 있는지 확인하기 위해 앵커의 문자 수를 감소시킵니다.

+0

Thx 제안을 위해, 나는 검사했다. 그리고 URL은 단지 83 자 길이 더하기, 이것 또한 URL을로드 또는 심지어 클릭하지 않고도 Outlook에 직접 입력하는 것보다 더하다 –

+0

방금 ​​가정용 랩톱에서이를 테스트했다. 윈도우 7이 있지만 그것에 대한 전망이없고 문제가 여전히 발생하기 때문에 나는 그것이 Outlook의 문제라고 생각하지 않는다. 모든 아이디어가 도움이된다고 생각한다. –

1

이 기술 자료 문서는 일부 빛이 창고 도움이 될 수 있습니다 :

http://support.microsoft.com/kb/316431

"이러한 유형의 작업을 허용하려는 웹 사이트는 no-cache 헤더를 제거해야합니다."

+0

죄송합니다. . –

+0

감사합니다. MS가 아는 바가 거의 없음을 보여줍니다. SSL이없는 사이트에도 적용됩니다. "이 동작은 의도적으로 설계된 것입니다."- 바보가 설계 한 접미사가 필요합니다. –