Compartir a través de


Item.WebClientReadFormQueryString Propiedad

Definición

Obtiene la cadena de consulta que se debe anexar a la dirección URL del cliente web de Exchange para abrir este elemento mediante el formulario de lectura adecuado en un explorador web.

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

Valor de propiedad

Valor de cadena.

Ejemplos

/// <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.");
  }
}

Comentarios

El identificador de elemento de una dirección URL de Outlook Web App es el identificador EWS del elemento. Puede codificar con dirección URL el identificador de elemento de EWS y anexarlo a la cadena de consulta para obtener la dirección URL de Outlook Web App de un elemento.

Diferencias de versión

Las versiones de Exchange a partir de la versión principal 15 y que terminan con 15.00.775.009 no devuelven un fragmento de cadena de consulta correcto en la WebClientReadFormQueryString propiedad .

En las versiones de Exchange anteriores a la versión principal 15, el identificador de elemento de la dirección URL de Outlook Web App es un identificador de Outlook Web App. Si tiene como destino una versión de Exchange anterior a la versión principal 15, debe usar el Microsoft.Exchange.WebServices.ExchangeService.ConvertID método para convertir el identificador.

Se aplica a