2
對於一個新的Intranet應用程序,我想讓用戶add a calendar to their Outlook因此可以輕鬆查看。日曆將是隻讀的。我該如何着手創建?如何創建Outlook「互聯網日曆訂閱」?
對於一個新的Intranet應用程序,我想讓用戶add a calendar to their Outlook因此可以輕鬆查看。日曆將是隻讀的。我該如何着手創建?如何創建Outlook「互聯網日曆訂閱」?
您應該創建一個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:20101109T2
LAST-MODIFIED:20101109T2
UID:{unique id}
SUMMARY:Nanaimo Artwalk 2010 (Free)
DESCRIPTION:{Description}
LOCATION:{Location}
URL:{url}
END:VEVENT
現在我不知道ICS格式真的很好,所以你應該更熟悉它。或者,您可以使用an open-source library。當您創建Feed時,將其作爲文件結果寫入。
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;
}
謝謝!我不知道是否有「展望方式」或應該生成iCal。然後我會生成iCal。 – 2010-11-12 14:14:37
有一個Outlook的方式來做到這一點槽交換Web服務託管API,但這是更容易,更多的客戶不可知論者.. – Sevki 2010-11-12 15:26:33