private void GetSuiteServiceInfo() { if (this.suiteServiceProxyInfo == null) { string text = HttpContext.Current.Request.Headers["RPSOrgIdPUID"]; string userPuid = string.IsNullOrEmpty(text) ? HttpContext.Current.Request.Headers["RPSPUID"] : text; string principalName = ((LiveIDIdentity)Thread.CurrentPrincipal.Identity).PrincipalName; string shellServiceUrl = string.Empty; string trackingGuid = string.Empty; try { using (ShellServiceClient shellServiceClient = new ShellServiceClient("MsOnlineShellService_EndPointConfiguration")) { string certificateThumbprint = ConfigurationManager.AppSettings["MsOnlineShellService_CertThumbprint"]; shellServiceClient.ClientCredentials.ClientCertificate.Certificate = TlsCertificateInfo.FindCertByThumbprint(certificateThumbprint); shellServiceUrl = shellServiceClient.Endpoint.Address.Uri.AbsoluteUri; trackingGuid = Guid.NewGuid().ToString(); GetSuiteServiceInfoRequest getSuiteServiceInfoRequest = new GetSuiteServiceInfoRequest { WorkloadId = WorkloadAuthenticationId.Exchange, CultureName = CultureInfo.CurrentUICulture.Name, UserPuid = userPuid, UserPrincipalName = principalName, TrackingGuid = trackingGuid, UrlOfRequestingPage = HttpContext.Current.Request.QueryString["returnUrl"] }; this.suiteServiceProxyInfo = shellServiceClient.GetSuiteServiceInfo(getSuiteServiceInfoRequest); } } catch (Exception exception) { this.suiteServiceProxyInfo = null; this.LogExceptionFromO365ShellService(exception, principalName, userPuid, shellServiceUrl); } } }
// Token: 0x06000521 RID: 1313 RVA: 0x0000E9F6 File Offset: 0x0000CBF6 public IAsyncResult BeginGetSuiteServiceInfo(GetSuiteServiceInfoRequest getSuiteServiceInfoRequest, AsyncCallback callback, object asyncState) { return(base.Channel.BeginGetSuiteServiceInfo(getSuiteServiceInfoRequest, callback, asyncState)); }
// Token: 0x06000520 RID: 1312 RVA: 0x0000E9E8 File Offset: 0x0000CBE8 public SuiteServiceInfo GetSuiteServiceInfo(GetSuiteServiceInfoRequest getSuiteServiceInfoRequest) { return(base.Channel.GetSuiteServiceInfo(getSuiteServiceInfoRequest)); }