Beispiel #1
0
        public static BanResult Ban(int n4NexonSN)
        {
            BanResult banResult = new BanResult();
            Default   @default  = Authenticator.CreateClientFromSN(n4NexonSN);
            int       num       = 0;

            if (@default == null)
            {
                banResult.nErrorCode      = 20024;
                banResult.strErrorMessage = "invalide nexon sn." + Environment.NewLine + "nNexonSN : " + n4NexonSN.ToString();
                return(banResult);
            }
            for (;;)
            {
                try
                {
                    BanResult banResult2 = @default.Ban((long)n4NexonSN);
                    banResult.nErrorCode      = banResult2.nErrorCode;
                    banResult.strErrorMessage = banResult2.strErrorMessage;
                }
                catch (Exception ex)
                {
                    if (num < Config.Authenticator.Soap.RetryCount)
                    {
                        num++;
                        if (num == Config.Authenticator.Soap.RetryCount)
                        {
                            @default.Timeout = Config.Authenticator.Soap.LongTimeout;
                        }
                        continue;
                    }
                    banResult.nErrorCode      = 20023;
                    banResult.strErrorMessage = "A unknown exception occured while calling a soap method." + Environment.NewLine + ex.ToString();
                    ErrorLogger.WriteLog(ErrorCode.SoapCallFailed, banResult.strErrorMessage, ex.StackTrace, string.Empty, "NexonSN: " + n4NexonSN.ToString());
                }
                finally
                {
                    @default.Dispose();
                }
                break;
            }
            return(banResult);
        }