Partager via


Item.WebClientReadFormQueryString Propriété

Définition

Obtient la chaîne de requête qui doit être ajoutée à l’URL du client web Exchange pour ouvrir cet élément à l’aide du formulaire de lecture approprié dans un navigateur web.

public:
 property System::String ^ WebClientReadFormQueryString { System::String ^ get(); };
public string WebClientReadFormQueryString { get; }
Public ReadOnly Property WebClientReadFormQueryString As String

Valeur de propriété

Valeur de chaîne.

Exemples

/// <summary>
/// Demonstrates how to open an item in Outlook Web App.
/// </summary>
/// <param name="service">An ExchangeService object that has already had credentials set and contains a valid service URL.</param>
static void OpenOWAFromWebClientReadFormQueryString(ExchangeService service)
{
  // Create a view that will return the identifier for the first item in a folder.
  ItemView itemView = new ItemView(1);
  itemView.PropertySet = new PropertySet(BasePropertySet.IdOnly);

  // Make a call to EWS to get one item from the mailbox folder.
  FindItemsResults<Item> results = service.FindItems(WellKnownFolderName.Drafts, itemView);

  // Get the item identifier of the item to open in Outlook Web App.
  ItemId itemId = results.Items[0].Id;

  ExchangeServerInfo serverInfo = service.ServerInfo;
  var owaReadFormQueryString = string.Empty;
  var ewsIdentifer = itemId.UniqueId;

  try
  {
    // Make a call to EWS to bind to the item returned by the FindItems method.
    EmailMessage msg = EmailMessage.Bind(service, itemId);
    msg.Load(new PropertySet(BasePropertySet.IdOnly, EmailMessageSchema.WebClientReadFormQueryString));

    // Versions of Exchange starting with major version 15 and ending with Exchange Server 2013 build 15.0.775.09
    // returned a different query string fragment. This optional check is not required for applications that
    // target Exchange Online.
    if ((serverInfo.MajorVersion == 15) && (serverInfo.MajorBuildNumber < 775) &&(serverInfo.MinorBuildNumber < 09))
    {
      // If your client is connected to an Exchange 2013 server that has not been updated to CU3,
      // this query string will be returned.
      owaReadFormQueryString = string.Format("#viewmodel=_y.$Ep&ItemID={0}",
        System.Web.HttpUtility.UrlEncode(ewsIdentifer, Encoding.UTF8));
    }
    else
    {
      // If your client is connected to an Exchanger 2010, Exchange 2013 CU3, or Exchange Online server,
      // the WebClientReadFormQueryString is used.
      owaReadFormQueryString = msg.WebClientReadFormQueryString;
    }

    // Create the URL that Outlook Web App uses to open the email message.
    Uri url = service.Url;
    string owaReadAccessUrl = string.Format("{0}://{1}/owa/{2}",
      url.Scheme, url.Host, owaReadFormQueryString);

    if (!string.IsNullOrEmpty(owaReadAccessUrl))
    {
      System.Diagnostics.Process.Start("IEXPLORE.EXE", owaReadAccessUrl);
    }
  }
  catch (System.ComponentModel.Win32Exception ex)
  {
    Console.WriteLine(ex.Message);
    Console.WriteLine("ERRROR: Internet Explorer cannot be found.");
  }
}

Remarques

L’identificateur d’élément d’une URL Outlook Web App est l’identificateur EWS de l’élément. Vous pouvez encoder l’identificateur d’élément EWS en URL et l’ajouter à la chaîne de requête pour obtenir l’URL Outlook Web App d’un élément.

Différences entre les versions

Les versions d’Exchange commençant par la version principale 15 et se terminant par 15.00.775.009 ne retournent pas un fragment de chaîne de requête correct dans la WebClientReadFormQueryString propriété .

Dans les versions d’Exchange antérieures à la version principale 15, l’identificateur d’élément pour l’URL Outlook Web App est un identificateur Outlook Web App. Si vous ciblez une version d’Exchange antérieure à la version principale 15, vous devez utiliser la Microsoft.Exchange.WebServices.ExchangeService.ConvertID méthode pour convertir l’identificateur.

S’applique à