Item.WebClientReadFormQueryString Propriedade
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Obtém a cadeia de caracteres de consulta que deve ser anexada à URL do cliente Web do Exchange para abrir esse item usando o formulário de leitura apropriado em um navegador da Web.
public:
property System::String ^ WebClientReadFormQueryString { System::String ^ get(); };
public string WebClientReadFormQueryString { get; }
Public ReadOnly Property WebClientReadFormQueryString As String
Valor da propriedade
Um valor de cadeia de caracteres.
Exemplos
/// <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.");
}
}
Comentários
O identificador de item de uma URL Outlook Web App é o identificador EWS do item. Você pode codificar URL do identificador de item EWS e anexá-lo à cadeia de caracteres de consulta para obter a URL Outlook Web App para um item.
Diferenças de versão
As versões do Exchange começando com a versão principal 15 e terminando com 15.00.775.009 não retornam um fragmento de cadeia de caracteres de consulta correta na WebClientReadFormQueryString propriedade.
Em versões do Exchange anteriores à versão principal 15, o identificador de item da URL Outlook Web App é um identificador Outlook Web App. Se você estiver mirando uma versão do Exchange anterior à versão principal 15, precisará usar o Microsoft.Exchange.WebServices.ExchangeService.ConvertID método para converter o identificador.