对于新的intranet应用程序,我想让用户使用add a calendar to their Outlook,这样就可以很容易地查看它。日历将是只读的。我该如何创建它呢?
发布于 2010-11-10 23:44:58
您应该创建一个大多数客户端都可以订阅的iCal feed。使用控制器中的FileStreamResult将其发送到客户端。熟悉ICS规范,它是这样开始的
BEGIN:VCALENDAR PRODID:-//{Calender of something}//NONSGML v1.0//EN
VERSION:1.0
CALSCALE:GREGORIAN
METHOD:PUBLISH
X-WR-CALNAME:{Name}
X-ORIGINAL-URL:{The Url obviously}
X-WR-CALDESC:{Calendar of Events For a new intranet application}并以END:VCALENDAR结尾。下面是一些事件
BEGIN:VEVENT
DTSTART:20101113
DTEND:20101115
DTSTAMP:20101110T154940
CREATED:20101109T201237
LAST-MODIFIED:20101109T201237
UID:{unique id}
SUMMARY:Nanaimo Artwalk 2010 (Free)
DESCRIPTION:{Description}
LOCATION:{Location}
URL:{url}
END:VEVENT现在我对ICS格式不是很了解,所以你应该更熟悉它。或者,您可以使用an open-source library。创建提要时,将其作为文件结果写入。
private static FileResult iCalResult(string ics)
{
return new FileStreamResult(WriteCal(ics), "text/calendar");
}
private static Stream WriteCal(string ics)
{
var content = Encoding.ASCII.GetBytes(ics);
var stream = new MemoryStream(content);
return stream;
}https://stackoverflow.com/questions/4146137
复制相似问题