2016-05-31 67 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。