首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Outlook internet日历订阅无法与Azure Blob存储上存储的文件同步

Outlook internet日历订阅无法与Azure Blob存储上存储的文件同步
EN

Stack Overflow用户
提问于 2017-03-06 23:08:23
回答 1查看 475关注 0票数 0

我正在编写一个在.Net中创建.ics文件的例程,这些文件由我平台中的日历工具定期更新。每次对日历进行更改时,都会写出一个更新的.ics文件。如果我在一台普通的旧服务器上使用一个标准的web文件夹,这一切都能完美地工作。

现在,问题来了。我已经将代码迁移到Azure Blob存储中,并根据需要在blob存储中写入/更新文件。如果我在Outlook中订阅日历,则所有内容都会按其应有的方式显示。我可以很好地刷新和更新日历,但只能持续大约90秒。在此之后,无论是否对文件进行了任何更改,Outlook都无法再更新日历,并显示如下错误:

“任务Internet日历订阅”报告错误(0XD49005):无法验证日历或将日历添加到Outlook。确保以下链接是有效的日历链接:“

如果我删除日历并重新订阅,我会得到相同的错误。如果我重新发布ics文件,然后重新订阅,一切都会再次正常工作,但只会持续一到两分钟。

关于Blob存储,我是否遗漏了什么,这意味着这不是存储文件的好方法?

更新抱歉,关于这件事的变幻莫测。代码简单地使用字符串构建器创建ICS文件,然后使用UploadFromStream命令使用内存流将文件写入blob存储。我已经检查了文件本身,它们看起来很好,通过了所有验证,文本/日历的内容类型都设置正确了。

在这里的另一篇文章中,我运行了Fiddler来监视连接。从浏览器获取该文件不是问题,但当Outlook请求该文件时,它会返回以下响应错误:

HTTP/1.1 400身份验证信息的格式不正确。检查Authorization header的值。

我在这方面有点超出我的深度,但我假设Outlook将无法获得该文件,因为我不相信我可以在Outlook本身中设置授权信息,这是正确的吗?

EN

回答 1

Stack Overflow用户

发布于 2017-03-07 22:12:46

因此,在深入研究之后,我发现Outlook在同步时无法对存储在Azure中的文件进行身份验证。因此,我很快在代码中添加了一个文件处理程序,以便在URL以".ics“结尾时获取地址,然后通过网站将文件流式传输到response对象。问题已解决。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42629004

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档