2016-05-31 29 views
1

我正在为Outlook Web App开发我的第一个加载项。我不清楚应该在哪里存储用户提供的大量数据(例如,大块文本,图像)并且与加载项相关联(而不是属于特定的邮件项目)。在哪里存储Outlook Web App的大数据?

我的印象是,RoamingSettings应该是相对较小的东西,因此不适合。我可以将数据存储在OneDrive上,但我不希望将数据暴露给外接UI外的用户。我发现this SO entry但答案似乎更适用于桌面Outlook,而不是OWA。我想如果需要的话,我可以将数据存储在我自己的服务器上,但是我首先想知道OWA体系结构中是否已经有一些东西可以用于此目的。

回答

2

RoamingSettings是存储应用程序/用户设置/数据的默认选择,但每个设置都有一个32K的限制,对于加载项使用的所有设置都有2MB的限制。另一种方法是使用EWS在隐藏文件夹中创建消息并将数据存储在消息正文中。

我创建了一个将XML序列化为隐藏消息并返回到JavaScript对象的实现。你可以在这里看到我的文章(在GitHub上的示例应用程序及源代码)如何做到这一点:

https://blogs.msdn.microsoft.com/mvpawardprogram/2016/01/26/unifying-your-web-dev-skills-for-office-add-ins/

+0

哇,优秀的文章。谢谢你,埃里克! –

+0

只是为了澄清......您的回答指出RoamingSettings限制为每个加载项32K。但是,您的文章指出每个加载项的限制为2MB,每个设置的限制为32K。我假设2MB是正确的值? –

+1

是的,对不起 - 我以前的自我是正确的大声笑。这2MB的价值可能还没有记录,但我从微软PM –

0

我对微软的Outlook上加载项工作的开发人员。

您应该在服务器上存储更大的数据/在您的服务器上记录。一条消息通常不适合为你的插件存储随机数据。使用makeEwsRequestAsync需要一个ReadWriteMailbox插件权限,否则可能不需要。

另一个需要注意的是32K限制是每个外接程序对于Outlook的漫游设置限制。这不是2MB。