Beispiel #1
0
        /// <summary>
        /// connect the client
        /// </summary>
        /// <param name="AUserName"></param>
        /// <param name="APassword"></param>
        /// <param name="AClientManager"></param>
        /// <param name="AProcessID"></param>
        /// <param name="AWelcomeMessage"></param>
        /// <param name="ASystemEnabled"></param>
        /// <param name="AError"></param>
        /// <param name="AUserInfo"></param>
        /// <returns></returns>
        virtual protected bool ConnectClient(String AUserName,
                                             String APassword,
                                             IClientManagerInterface AClientManager,
                                             out Int32 AProcessID,
                                             out String AWelcomeMessage,
                                             out Boolean ASystemEnabled,
                                             out String AError,
                                             out IPrincipal AUserInfo)
        {
            AError          = "";
            ASystemEnabled  = false;
            AWelcomeMessage = "";
            AProcessID      = -1;
            AUserInfo       = null;

            try
            {
                AClientManager.ConnectClient(AUserName, APassword,
                                             TClientInfo.ClientComputerName,
                                             TClientInfo.ClientIPAddress,
                                             new Version(TClientInfo.ClientAssemblyVersion),
                                             DetermineClientServerConnectionType(),
                                             out FClientName,
                                             out FClientID,
                                             out FCrossDomainURI,
                                             out FRemotingURLs,
                                             out FServerOS,
                                             out AProcessID,
                                             out AWelcomeMessage,
                                             out ASystemEnabled,
                                             out AUserInfo);

                if (FRemotingURLs.ContainsKey(RemotingConstants.REMOTINGURL_IDENTIFIER_POLLCLIENTTASKS))
                {
                    FRemotingURL_PollClientTasks = (String)FRemotingURLs[RemotingConstants.REMOTINGURL_IDENTIFIER_POLLCLIENTTASKS];
                }

                FConnector.Init(FCrossDomainURI, FClientID.ToString());

                return(true);
            }
            catch (EUserNotExistantException exp)
            {
                AError = exp.Message;
                return(false);
            }
            catch (ESystemDisabledException exp)
            {
                AError = exp.Message;
                return(false);
            }
            catch (EClientVersionMismatchException)
            {
                throw;
            }
            catch (ELoginFailedServerTooBusyException)
            {
                throw;
            }
            catch (Exception exp)
            {
                TLogging.Log(exp.ToString() + Environment.NewLine + exp.StackTrace, TLoggingType.ToLogfile);
                throw;
            }
        }