【问题标题】:Creating a public folder on an Exchange server from code behind使用隐藏代码在 Exchange 服务器上创建公用文件夹
【发布时间】:2012-03-02 06:05:54
【问题描述】:
我必须在 VB.Net Framework 4 中创建一个项目管理应用程序,它应该在 Exchange 服务器的公用文件夹中创建一个客户端文件夹。
我认为创建公用文件夹的唯一方法是通过管理控制台。有没有办法连接到 Exchange 服务器并从代码中执行创建命令文件,但我不知道如何。
还有其他方法吗?
【问题讨论】:
标签:
c#
vb.net
exchange-server
exchangewebservices
public-folders
【解决方案1】:
如果您使用的是 Exchange 服务 2007 或更高版本,则可以使用 Exchange Web 服务 (EWS) 轻松创建文件夹。 EWS 是一组由 Exchange 服务公开的 SOAP 服务,使得以编程方式在 Exchange 上执行许多不同的任务变得相当容易。
调用 EWS 的最简单方法是通过 Exchange Web Service Managed API,它是一个用于从 .NET 客户端调用 EWS 的 .NET 包装器。
通过托管 API 使用 EWS 时,您首先连接到您的 Exchange 服务器。 EWS 的端点通常位于地址“/EWS/exchange.asmx”,如下所示:
var service = new ExchangeService(ExchangeVersion.Exchange2010_SP1);
service.Url = new Uri("https://server/EWS/exchange.asmx");
service.Credentials = new NetworkCredential("username", "password", "domain");
您也可以使用autodiscovery 连接到服务器。
连接成功后,您可以通过以下方式创建公用文件夹(另见MSDN):
var folder = new Folder(service);
folder.DisplayName = "New Folder";
folder.Save(WellKnownFolderName.PublicFoldersRoot);
我知道您将您的问题标记为 VB.NET,但请原谅我的 C# 代码示例。