Asp.net mvc Outlook编程的官方文档在哪里;互联网日历订阅“;?

Asp.net mvc Outlook编程的官方文档在哪里;互联网日历订阅“;?,asp.net-mvc,outlook,icalendar,Asp.net Mvc,Outlook,Icalendar,是否有任何官方来源可用于编程Outlook“”,链接中描述为 Internet日历订阅是您下载并在Outlook中查看的日历。但是,与日历快照不同,Internet日历订阅会自动更新 我正在使用ASP.NETMVC和。我创建这样的日历失败了。我需要具体问题的答案。我已经猜腻了。我不会接受随机代码、过期codeproject文章的链接或任何其他非权威性的内容 我所掌握的唯一具体信息是URL必须 以webcal:// 以.ics文件名结尾 我必须为每个用户生成一个唯一且最新的日历,最好是每次Ou

是否有任何官方来源可用于编程Outlook“”,链接中描述为

Internet日历订阅是您下载并在Outlook中查看的日历。但是,与日历快照不同,Internet日历订阅会自动更新

我正在使用ASP.NETMVC和。我创建这样的日历失败了。我需要具体问题的答案。我已经猜腻了。我不会接受随机代码、过期codeproject文章的链接或任何其他非权威性的内容

我所掌握的唯一具体信息是URL必须

  • webcal://
  • .ics
    文件名结尾
我必须为每个用户生成一个唯一且最新的日历,最好是每次Outlook轮询地址时。我希望避免将日历更新挂接到站点的CRUD部分。因此,我需要了解Outlook接受哪些内容的一些细节

  • 我是否可以使用返回
    FileResult
    (或派生:流、内容、路径)的控制器/操作在Outlook点击该地址时动态生成日历

  • 我可以通过修饰动作来“伪造”URL的ICS文件/文件名部分吗,比如
    [ActionName(“iCalFeed.ICS”)]

  • 我是否可以使用
    ActionLink
    为操作创建
    webcal
    链接,如

我已经以一种特别的方式尝试了其中的一些东西,Outlook喜欢弹出并处理
webcal
链接,但它不显示任何内容,也不显示任何错误消息。是否有地方可以挖掘Outlook web日历导入错误

如果以上问题回答为“否”,是否有其他方法可以在Outlook每次轮询地址时提供新内容?我不希望更新日历与站点上的CRUD操作同步。这似乎比必要的要复杂得多

无论哪种方式,我还需要知道iCalendar规范Outlook需要哪些部分才能正确更新“订阅”。我导入了一个ICS文件作为常规的“快照”,其中只包含开始/结束日期、摘要和位置。但是,显然,规范中有一些棘手的部分,比如

  • 是否必须设置
    方法
    (4.7.2方法)?我甚至找不到对这个属性或它接受的值的恰当描述(它是特定于客户端的吗?)

  • 我是否必须跟踪事件UID并根据系统的CRUD操作更改其配置?或者,在后续轮询时从日历中添加/删除/更新事件是否足以让Outlook弄清楚?如果我必须跟踪,现在我必须向我的应用程序添加一整层持久性和状态感知

  • 如果我保持跟踪,我在其他SO问题中注意到Outlook对
    组织者
    属性非常挑剔。。。它是否必须是电子邮件地址?一个
    mailto:
    链接还是一个地址

我已经筋疲力尽了。我愿意阅读文档,如果它回答了关于实际构建一个生成适当日历订阅的网站的问题。除了这个,我在MSDN上没有找到任何东西。而且,据我所知,这是没有用的


为了清楚起见,我可以为任何用户生成一个基本ICS文件,并在Outlook中手动启动它。我根本无法让我的任何网络链接正常工作



这些其他日历RFC发挥作用了吗?

我还没有找到任何合适的文档,但我发现了Outlook的一些行为。关于“互联网日历订阅”的webcal/ics要求

  • Outlook可以使用
    http://
    地址
  • Outlook可以使用不以
    .ics
您可以在Internet上的Outlook | Open Calendar |中亲自尝试这些功能。您可能仍然希望使用
ActionLink
/webcal链接,以便浏览器提示您启动可以处理请求的应用程序

至于其余的控制器/动作要求

  • Outlook发出匿名请求*
  • Outlook可以接受二进制/流/字符串
    FileResult
    类型的控制器操作

*您可能需要为该路由显式地允许匿名。在我的系统中,我必须使用带有
标记来绕过表单身份验证。如果你确实需要安全性,看看谷歌是怎么做的。他们创建一个URL,其中包含每个用户/日历的GUID令牌,并要求您保护它

是否必须设置方法(RFC2445 4.7.2方法)?我甚至找不到对这个属性或它接受的值的恰当描述(它是特定于客户端的吗?)

有关方法,请参见和规范

WebDAV(CalDAV)的日历扩展 本文档定义了Web分布式创作和应用程序的扩展 用于指定标准访问方式的版本控制(WebDAV)协议, 基于管理和共享日历和日程安排信息 iCalendar格式。此文档定义“日历访问” CalDAV的特点


方法(RFC2445 4.7.2方法)

RFC 2445已被RFC 5545淘汰,因此您可能会对其感兴趣,以便您可以尝试适应两者的交叉点


我已经穷途末路了。如果文档回答了关于实际构建一个生成适当日历订阅的网站的问题,我愿意阅读文档

所有这些标准都是由您可能会发现有用的标准维护的


很抱歉,我没有更多的用处,因为我对Outlook的个人实践经验很少,但是有很多人参与CalConnect,他们知道所有的互操作细节。

我可以添加一个谷歌日历,而不需要webcal://协议!我们就到此为止