2011-05-12 96 views
0

我是VSTO的新手,並且正在開發一個Outlook插件,允許最終用戶跟蹤聯繫人之間的關係。這些關係存儲在一個單獨的SQL數據庫中,並將SQL數據行的ID放入Outlook聯繫人附加的自定義屬性中。不幸的是,如果用戶查看「所有字段」窗格,該ID在「用戶定義的此項目的字段」下可見。有沒有辦法阻止用戶看到(也更重要的是編輯)這些屬性?VSTO:隱藏聯繫人屬性

回答

0

我不認爲有任何方法可以將數據「附加」到用戶無法看到的OL聯繫人。

另一方面,你可以在你的數據庫中有一個字段跟蹤聯繫人ID(我忘記了確切的字段名稱,但我知道每個聯繫人都有一個唯一的鍵值),然後使用THAT獲取SQL數據庫中的數據。

這種方法唯一的問題是,Outlook有一個習慣,當你做某些事情時重置該PK值(如將聯繫人從一個文件夾移動到另一個文件夾,Outlook將其視爲DELETE/ADD,因此PK該聯繫人將改變)。

我似乎記得使用混合方法的一點做了BOTH(將聯繫人的PK存儲在SQL中,而聯繫人中的自定義字段存儲了SQL ID),然後保持它們同步。但是,我記得,這有點痛苦。交替地,如果用戶移動了一個聯繫人,那麼您也可以將其視爲DELETE/ADD,並根據需要更新您的SQL。

+0

謝謝!我認爲你正在考慮的領域是「EntryID」。我的第一個想法是將這個價值存儲在我自己的數據庫中,但我完全拒絕了這個想法。 PK有什麼用處,如有更改,恕不另行通知?另一個問題是,我預計在單獨的模塊中使用Exchange Web服務,並且無法從那裏檢索EntryID。現在我想知道保留第二個字段的相同數據以加密/散列格式存儲以檢測篡改 – rotard 2011-05-13 14:12:44