protected override void OnStart(string[] args) { Environment.CurrentDirectory = AppDomain.CurrentDomain.BaseDirectory; Logger.Init(); MonitorHistory.Init(); Logger logger = new Logger("service"); logger.Info("begin start", new object[0]); try { Config = Config.Load("service.xml"); Api = new DnsPodApi(Config, Config.GetLocal()); Ddns = new DDns(Config.LastIp, Config.GetLocal()); Ddns.IPChanged += Ddns_IPChangedNotified; Ddns.Start(); Monitor = new HttpMonitor(Config); Monitor.StatusChanged += Monitor_StatusChanged; Monitor.Start(); logger.Info("end start", new object[0]); } catch (Exception exception) { logger.Error("start error:{0}", new object[] { exception }); } }
static void Main(string[] args) { Console.WriteLine("DnsPod Cli Tools v1.0"); var builder = new ConfigurationBuilder(); builder.AddCommandLine(args, new Dictionary <string, string> { { "-t", "Token" }, { "-d", "DomainName" }, { "-r", "RecordId" }, { "-v", "Value" }, { "-s", "SubDomain" }, { "--type", "RecordType" } }); var item = builder.Build().Get <CommandLineArgs>(); if (item == null) { Console.WriteLine("请输入参数"); PrintMenu(); return; } Console.WriteLine("正在修改域名记录:" + item.SubDomain + "." + item.DomainName); DnsPodConfiguration configuration = new DnsPodConfiguration { Token = item.Token }; DnsPodClient client = new DnsPodClient(new HttpClient(), configuration); DnsPodApi record = new DnsPodApi(client); //如果用户没有输入RecordId,则通过List接口获取 if (item.RecordId == null) { item.RecordId = record.RecordList(item.DomainName).Records.FirstOrDefault(r => r.Name == item.SubDomain)?.Id; } if (record.Modify(item.DomainName, item.RecordId, item.Value, item.SubDomain, item.RecordType)) { Console.WriteLine("修改完成!"); } else { Console.WriteLine("修改失败!"); } }
public HomeController(IOptions <DDnsConfiguration> config, DnsPodApi dnsPodRecord) { configuration = config.Value; record = dnsPodRecord; }