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에서 이벤트를 열려고 처음 얻을, 그리고 그 두 번째 시간을 작동합니다.
사람이이 문제를 해결하는 방법을 알고 있나요? 그것은 응답처럼 보인다