簡體   English   中英

如何控制何時更新了遠程iCal(.ics)文件並且日歷應該同步?

[英]How to control when a remote iCal (.ics) file has been updated and the calendar should sync?

我正在使用asp.net 4(網絡表單)的系統來管理事件,並將有關這些事件的電子郵件發送給客戶。

我已經創建了一個頁面,該頁面可以根據數據庫中的數據動態創建.ics文件,客戶可以下載該頁面以將事件添加到Outlook和iCalendar。 該文件是通過響應發送的,因此我實際上並未將文件存儲在服務器上。 由於我可以為此文件提供一個webcal://地址,因此只要有人在我們的系統中更改事件的設置,它也可以同步。

.ics示例:webcal://www.abc.com/get-ics.aspx?id = 123

但是,由於我們的客戶與動態生成的文件同步,因此這迫使我們的服務器在其日歷應用程序每次想要同步時都生成文件。 由於這將每小時導致數十萬個請求,因此服務器將受到相當大的懲罰。

因此,我的實際問題是:Outlook和其他日歷應用程序如何知道ics文件已更新並且需要提取更新的文件? 我需要管理它,以便僅在進行實際更新時才生成一個新文件,而不是在每個單獨的請求上都生成一個新文件。 主要問題是我們不希望將實際文件存儲在服務器上。

啟動一項服務,該服務將輪詢文件並檢查HTTP更改標頭。 如果有更改,請重新下載。 我不知道精確的實現。 但這應該是一個起點。

> How does Outlook and other calendar applications know 
> when an ics-file has been updated and needs to fetch the updated file?

每個日歷條目都有一個唯一標識,最后一個修改並與一個或多個用戶相關聯。

  • 客戶可以要求給我2002年12月24日以來對userid = 123的所有更改
  • 或每個用戶生成一個ical文件的服務器為該文件提供最新條目的修改日期

請注意,這不處理從日歷中刪除的條目

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM