ExchangeService(EWS)定位服务器的两种方式

在用C#收取Exchange 邮箱中的邮件时,我们必须要指定用户名,密码,域名三个信息,而另外的一个信息即为邮箱地址,以下为示例:

//连接服务器
            ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
            service.Credentials = new NetworkCredential("用户名", "密码", "域名");
            service.AutodiscoverUrl("邮箱地址");


还有一种方式是直接指定该Exchange服务器的wsdl地址,代码如下:

//连接服务器
            ExchangeService service = new ExchangeService(ExchangeVersion.Exchange2007_SP1);
            service.Credentials = new NetworkCredential("用户名", "密码", "域名");
            service.Url = new Uri(http://server/EWS/Exchange.asmx);


这两种方式的区别:

 第一种方式,直接写邮箱的地址,它会自动去定位你的服务器地址,这样你的服务器地址变了,代码也不会修改,但缺点是经常性地报地址定位错误,或找不到(这个我不晓得是为何)

第二种方式,优点是定位比较快一点,而且准,基本上不会报错,缺点就是如果服务器的地址变了,那么还需要修改代码。

个人总结:第二种方式较好,为了避免错误,建议从配置文件中读取该地址,以便方便管理。

你可能感兴趣的:(C#,EWS)