Example #1
0
        /// <summary>
        /// 添加解析记录,默认TTL为600
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public override DomainRecordActionResult AddDomainRecord(AddDomainRecordParam param)
        {
            var request = new AddDomainRecordRequest()
            {
                DomainName = param.DomainName,
                RR         = param.RR,
                Type       = param.Type.ToString(),
                TTL        = param.TTL,
                _Value     = param.Value
            };

            try
            {
                var response = client.GetAcsResponse(request);
                if (response == null || response.HttpResponse.Content == null || response.HttpResponse.Content.Length == 0)
                {
                    throw new Exception("Add subdomain records info failed.");
                }
                string result    = Encoding.UTF8.GetString(response.HttpResponse.Content);
                var    resultObj = new JsonSerializer().Deserialize <DomainRecordActionResult>(new JsonTextReader(new StringReader(result)));
                if (resultObj != null)
                {
                    resultObj.Status = true;
                }
                return(resultObj);
            }
            catch (ServerException e)
            {
                throw new Exception($"Aliyun server error. {e.Message}");
            }
            catch (ClientException e)
            {
                throw new Exception($"Reuqest client error. errcode is {e.ErrorCode}, {e.Message}");
            }
        }
Example #2
0
        /// <summary>
        /// 添加解析
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public override DomainRecordActionResult AddDomainRecord(AddDomainRecordParam param)
        {
            var recordCreateResult = client.RecordCreate(new RecordCreateRequestParam()
            {
                domain     = param.DomainName,
                subDomain  = param.RR,
                recordType = RecordTypeMapper(param.Type),
                value      = param.Value,
                ttl        = param.TTL
            }).GetAwaiter().GetResult();

            if (recordCreateResult.Code == "0")
            {
                return(new DomainRecordActionResult()
                {
                    Status = true,
                    RequestId = null,
                    RecordId = recordCreateResult.Data.Record.Id.ToString(),
                    RR = param.RR,
                    TotalCount = 1,
                });
            }
            else
            {
                throw new Exception($"Add domain records info failed. {recordCreateResult.Message}");
            }
        }
Example #3
0
 /// <summary>
 /// 添加域名解析记录
 /// </summary>
 /// <param name="param"></param>
 /// <returns></returns>
 public abstract DomainRecordActionResult AddDomainRecord(AddDomainRecordParam param);