如何使用Redemption dll(C#)访问“脱机通讯簿”(从Exchange服务器/ outlook配置到交换机)。
我正在寻找一些示例代码来继续我的任务。
答案 0 :(得分:2)
试试这个。我正在使用Redemption 4.6。我创建了一个表单并添加了一个DataGridView用于查看结果。这是我的代码:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
namespace TestingJojoWinForms
{
public partial class frmRedemption : Form
{
public frmRedemption()
{
InitializeComponent();
}
private void frmRedemption_Load(object sender, EventArgs e)
{
DataTable dtResult = new DataTable("Result");
dtResult.Columns.Add("EntryID");
dtResult.Columns.Add("FirstName");
dtResult.Columns.Add("LastName");
dtResult.Columns.Add("Alias");
dtResult.Columns.Add("SMTPAddress");
dtResult.Columns.Add("JobTitle");
dtResult.Columns.Add("Address");
dtResult.Columns.Add("StreetAddress");
Redemption.RDOSessionClass session = new Redemption.RDOSessionClass();
session.Logon(@"your_account_name", "your_password", false, false, 0, false);
for(int index = 1; index <= session.AddressBook.GAL.AddressEntries.Count; index++)
{
Redemption.RDOAddressEntryClass entry = (Redemption.RDOAddressEntryClass)session.AddressBook.GAL.AddressEntries.Item(index);
dtResult.Rows.Add(entry.EntryID, entry.FirstName, entry.LastName, entry.Alias, entry.SMTPAddress, entry.JobTitle, entry.Address, entry.StreetAddress);
}
session.Logoff();
this.dataGridView1.DataSource = dtResult;
}
}
}
结果如下: alt text http://www.freeimagehosting.net/uploads/b46bb6d3a1.jpg
答案 1 :(得分:0)
很抱歉这不是一个答案,但是我会把Dmitry Streblechenko(Redemption图书馆的开发者)发送一封电子邮件 - 他总是很快回复并且很有帮助。
他的电子邮件地址位于兑换网站:http://www.dimastr.com/redemption/
答案 2 :(得分:0)
在你的问题中更具体一点是有帮助的。
“脱机通讯簿”由Outlook自动管理为Exchange全局地址列表的缓存副本,请参阅KB article。
如果您需要访问地址簿的元素,请使用Redemption中的SafeContact对象。 Oulook缓存联系信息的事实应该对用户透明。
关于脱机通讯簿,Outlook的UI中没有太多工作要做。您的问题是否意味着以编程方式触发地址簿的更新?例如,在Outlook 2010中,在发送/接收选项卡中,发送和接收;接收组,发送/接收组下拉列表,下载地址簿?