internal WcfStream(string dataSource, string serverEndpointAddress, bool specificVersion, string loginName, string databaseId, DataType desiredRequestType, DataType desiredResponseType, string applicationName) : base(desiredRequestType, desiredResponseType)
 {
     try
     {
         this.Init();
         this.spSite = XmlaClient.CreateSPSite(dataSource);
         this.serverEndpointAddress = serverEndpointAddress;
         this.loginName             = loginName;
         this.databaseId            = databaseId;
         this.applicationName       = applicationName;
         this.specificVersion       = specificVersion;
         this.logonWindowsIdentity  = WindowsIdentity.GetCurrent();
         this.logonWindowsPrincipal = new WindowsPrincipal(WindowsIdentity.GetCurrent());
         XmlaClient.UlsWriterSetCurrentRequestCategoryToRequestProcessing();
     }
     catch (XmlaStreamException e)
     {
         XmlaClient.UlsWriterLogException(e);
         throw;
     }
     catch (Exception ex)
     {
         XmlaClient.UlsWriterLogException(ex);
         throw new XmlaStreamException(ex);
     }
 }