예제 #1
0
 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);
         }
     }
 }
예제 #2
0
 // 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));
 }
예제 #3
0
 // Token: 0x06000520 RID: 1312 RVA: 0x0000E9E8 File Offset: 0x0000CBE8
 public SuiteServiceInfo GetSuiteServiceInfo(GetSuiteServiceInfoRequest getSuiteServiceInfoRequest)
 {
     return(base.Channel.GetSuiteServiceInfo(getSuiteServiceInfoRequest));
 }