C# 在Outlook中导入日历时复制事件
我正在创建一个ics文件,每个事件都有一个唯一的UID作为GuiD.NewGuid()。第一次导入成功。当计划I create updated ics文件发生更改时,它会在导入时创建一个副本,因为它会通过调用GuiD.NewGuid()再次创建一个唯一的UID。导入时是否有避免重复的方法C# 在Outlook中导入日历时复制事件,c#,vb.net,calendar,google-calendar-api,icalendar,C#,Vb.net,Calendar,Google Calendar Api,Icalendar,我正在创建一个ics文件,每个事件都有一个唯一的UID作为GuiD.NewGuid()。第一次导入成功。当计划I create updated ics文件发生更改时,它会在导入时创建一个副本,因为它会通过调用GuiD.NewGuid()再次创建一个唯一的UID。导入时是否有避免重复的方法 writer.WriteLine("BEGIN:VCALENDAR") For i = 1 To 42 lbl = Me.FindControl("Label" & i.ToS
writer.WriteLine("BEGIN:VCALENDAR")
For i = 1 To 42
lbl = Me.FindControl("Label" & i.ToString)
If lbl.Text.IndexOf(str) > 0 Then
writer.WriteLine("BEGIN:VEVENT")
sDateTime = CDate(GetStart().ToUniversalTime().ToString("yyyyMMddTHHmmss") & "Z"
eDateTime = CDate(GetEnd()).ToUniversalTime().ToString("yyyyMMddTHHmmss") & "Z"
writer.WriteLine("DTSTART:" + sDateTime)
writer.WriteLine("DTEND:" + eDateTime)
writer.WriteLine("DTSTAMP:" + Now().ToUniversalTime().ToString("yyyyMMddTHHmmss") & "Z")
writer.WriteLine("UID:" & System.Guid.NewGuid().ToString.Replace("-", ""))
writer.WriteLine("END:VEVENT")
End If
Next
writer.WriteLine("END:VCALENDAR")
writer.Close()
你能把你用过的代码贴出来吗?这将使我们所有人都处于可以消除重复的环境中。我已经发布了相关代码。它在遇到事件时创建一个UID。但每次我创建ics文件时,它都会生成一个唯一的ics文件,因此在导入Outlook时会创建重复的ics文件。对于这种情况,您能否根据事件的开始/结束时间和/或描述来隔离事件?它可能需要一个单独的表,您可以在其中记录这些信息,记录guid,然后您可以提取这些信息,比如是否需要覆盖原始信息或跳过重复信息。您说的是“导入”而不是“订阅”。在我看来,两者是不同的。我希望“订阅”与UID匹配,而不是创建重复项。“导入”我倾向于认为这更像是我自己创造的事件已导入的“事件”将导入基本日历,而不是作为单独的日历订阅。坦白地说,如果在导入中创建了副本,我也不会感到惊讶。