c # - Få brugerens Exchange-server og e-mail-adresse i .NET

Indlæg af Hanne Mølgaard Plasc

Problem



H i. Jeg vil gerne vide adressen til min brugeres Exchange-server (forudsat at hun er i et typisk Windows-kontornetværk). Dette er i en C # ansøgning.





Jeg har allerede brugerens e-mailadresse, jeg fandt den på System.DirectoryServices.AccountManagement.UserPrincipal.Current.EmailAddress, efter at have henvist System.DirectoryServices.AccountManagement

Bedste reference


Jeg bruger dette til min Exchange klient ansøgning.



  1. Installer Exchange Web Services Managed API

  2. Ændre dine C # -projekts egenskaber/Programmet ændrede målrammen til '.NET Framework 4' ikke '.NET 4 Client Profile'

  3. Reference C:Program FilesMicrosoftExchangeWeb Services1.1Microsoft.Exchange.WebServices.dll



Nu kode: [4]


var exchange = new ExchangeService();
exchange.AutodiscoverUrl(from);
var server = exchange.Url.Host;
Console.WriteLine(server);


Her er MSDN-dokumentationen. Men bemærk den for den uudgivne version 1.2 af API'en. Jeg kan ikke finde dokumentationen til version 1.1 [5]

Andre referencer 1


Du søger efter AD-attributten kaldet homeMDB:
http://msdn.microsoft.com/en-us/library/ms980583(v=exchg.65).aspx[6]


Jeg tror ikke, der er en flot. NET-indpakning til denne attribut, så du skal bruge en LDAP API på lavere niveau for at få det.


Bemærk at med senere versioner af Exchange (dvs. 2010) kan du oprette forbindelse til enhver CAS-rolle, og Exchange finder ud af routingen.

Andre referencer 2


Har du kigget på at bruge autodiscover?
http://technet.microsoft.com/en-us/library/bb124251.aspx[7]