Item.WebClientReadFormQueryString Eigenschaft

Definition

Ruft die Abfragezeichenfolge ab, die an die Exchange-Webclient-URL angefügt werden soll, um dieses Element mithilfe des entsprechenden Leseformulars in einem Webbrowser zu öffnen.

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

Eigenschaftswert

Ein Zeichenfolgenwert.

Beispiele

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

Hinweise

Der Elementbezeichner für eine Outlook Web App URL ist der EWS-Bezeichner des Elements. Sie können den EWS-Elementbezeichner urlcodieren und an die Abfragezeichenfolge anfügen, um die Outlook Web App URL für ein Element abzurufen.

Versionsunterschiede

Versionen von Exchange, die mit Der Hauptversion 15 beginnen und mit 15.00.775.009 enden, geben kein richtiges Abfragezeichenfolgenfragment in der WebClientReadFormQueryString -Eigenschaft zurück.

In Versionen vor Der Hauptversion 15 von Exchange ist der Elementbezeichner für die Outlook Web App-URL ein Outlook Web App-Bezeichner. Wenn Sie eine frühere Exchange-Version als Die Hauptversion 15 als Ziel verwenden, müssen Sie die Microsoft.Exchange.WebServices.ExchangeService.ConvertID -Methode verwenden, um den Bezeichner zu konvertieren.

Gilt für: