加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何使用StorageItem保存vsto加载项特定数据

发布时间:2020-12-15 22:27:50 所属栏目:百科 来源:网络整理
导读:我正在使用C#为Outlook开发VSTO加载项.我希望能够保存一些加载项特定数据,这是一种复杂的用户定义类型.我已经阅读了 StorageItem API的MSDN文档,但没有多大帮助.使用StorageItem是正确的方法吗?任何代码示例都会有帮助. 解决方法 由于解决方案存储是作为文
我正在使用C#为Outlook开发VSTO加载项.我希望能够保存一些加载项特定数据,这是一种复杂的用户定义类型.我已经阅读了 StorageItem API的MSDN文档,但没有多大帮助.使用StorageItem是正确的方法吗?任何代码示例都会有帮助.

解决方法

由于解决方案存储是作为文件夹中的隐藏项创建的,因此只有存储提供程序支持隐藏项且客户端才有权写入该文件夹时,才能存储解决方案数据.

private string GetWorkHoursXML()
{
   try
   {
        Outlook.StorageItem storage =
        Application.Session.GetDefaultFolder(
        Outlook.OlDefaultFolders.olFolderCalendar).GetStorage(
        "IPM.Configuration.WorkHours",Outlook.OlStorageIdentifierType.olIdentifyByMessageClass);
        Outlook.PropertyAccessor pa = storage.PropertyAccessor;
        // PropertyAccessor will return a byte array for this property
        byte[] rawXmlBytes = (byte[])pa.GetProperty(
        "http://schemas.microsoft.com/mapi/proptag/0x7C080102");
        // Use Encoding to convert the array to a string
        return System.Text.Encoding.ASCII.GetString(rawXmlBytes);
    }
    catch
    {
        return string.Empty;
    }
 }

有关更多信息,请参见How to: Store Solution-Specific Data as a Hidden Message in a Folder.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读