2010-05-19 2 views
1

사용자가 선택할 수있는 ics 파일을 만들 때 response.write를 사용하는 ASP 사이트를 구축하고 있습니다. 이벤트 대화 상자를 열거 나 저장하십시오. 사용자가 open을 선택하면 Outlook에서 "때때로 [file [] .ics"는 유효한 인터넷 캘린더 파일이 아닙니다 "라는 오류 메시지를 표시합니다.이 메시지는 항상 응답과 동일한 이벤트입니다. 코드는 다음과 같습니다.코드에서 .ics 파일을 만들면 "<filename> [<index>] .ics"파일이 유효한 인터넷 캘린더 파일이 아닙니다.

this.Response.ContentType = "text/calendar"; 
this.Response.AddHeader("Cache-Control", "no-cache, must-revalidate");    
this.Response.AddHeader("Pragma", "no-cache"); 
this.Response.Expires = -1;   
this.Response.AddHeader("Content-disposition", string.Format("attachment; filename={0}.ics",filename)); 
this.Response.Write("BEGIN:VCALENDAR"); 
this.Response.Write("\nVERSION:2.0"); 
this.Response.Write("\nMETHOD:PUBLISH"); 
this.Response.Write("\nBEGIN:VEVENT"); 
this.Response.Write("\nType:Single Meeting"); 
this.Response.Write("\nORGANIZER:MAILTO:" + organizer); 
this.Response.Write("\nDTSTART:" + startDate.ToUniversalTime().ToString(DateFormat)); 
this.Response.Write("\nDTEND:" + endDate.ToUniversalTime().ToString(DateFormat)); 
this.Response.Write("\nLOCATION:" + location); 
this.Response.Write("\nUID:" + Guid.NewGuid().ToString()); 
this.Response.Write("\nDTSTAMP:" + DateTime.Now.ToUniversalTime().ToString(DateFormat)); 
this.Response.Write("\nSUMMARY:" + summary); 
this.Response.Write("\nDESCRIPTION:" + description); 
this.Response.Write("\nPRIORITY:5"); 
this.Response.Write("\nCLASS:PUBLIC"); 
this.Response.Write("\nEND:VEVENT"); 
this.Response.Write("\nEND:VCALENDAR"); 
this.Response.End(); 

나는 보통 오류를 내가 Outlook에서 이벤트를 열려고 처음 얻을, 그리고 그 두 번째 시간을 작동합니다.

사람이이 문제를 해결하는 방법을 알고 있나요? 그것은 응답처럼 보인다

답변

1

.Clear()는 처음부터 Flush before End로 문제를 해결합니다 ...

관련 문제