本文整理汇总了C#中ConfigItem.Select方法的典型用法代码示例。如果您正苦于以下问题:C# ConfigItem.Select方法的具体用法?C# ConfigItem.Select怎么用?C# ConfigItem.Select使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类ConfigItem
的用法示例。
在下文中一共展示了ConfigItem.Select方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: QueryAll
private static IAsyncResult QueryAll(ConfigItem[] keys, Action<ConfigItem[], Exception> callback)
{
string url = new UrlBuilder()
.SetPath("/ActiveConfig/v1/CheckUpdate")
.AddParam("appid", _appKey)
.AddParam("secretkey", _appSecret)
.AddParam("key", string.Join(";", keys.Select(x => x.Key + "," + x.MD5 + "," + (int)x.Type)))
.GetUrl();
return Http.GetStringAsync(url, (s, e) =>
{
List<ConfigItem> results = null;
if (e == null)
{
results = new List<ConfigItem>();
var dict = JSON.Parse(s);
if (dict != null)
{
string code = dict["code"].Value;
string msg = dict["msg"].Value;
if (code != "0")
{
Debug.WriteLine("Server return error {0}: {1}", code, msg);
e = new ActiveConfigException(msg);
}
else
{
foreach (var item in dict["data"].Childs)
{
ConfigItem c = new ConfigItem();
c.Key = item["key"].Value;
c.Type = (ConfigType)Enum.Parse(typeof(ConfigType), item["type"].Value, true);
var serverStatus = item["status"].Value != "" ? (ServerItemStatus)Enum.Parse(typeof(ServerItemStatus), item["status"].Value, true) : ServerItemStatus.Success;
if (serverStatus == ServerItemStatus.NoUpdate)
{
continue;
}
else if (serverStatus == ServerItemStatus.Invalid)
{
c.Status = ItemStatus.KeyNotFound;
}
else
{
c.Value = item["value"].Value;
c.ExpireTime = Helper.ConvertTime(item["endtime"].Value);
c.MD5 = item["md5"].Value;
c.Status = ItemStatus.OK;
}
results.Add(c);
}
}
}
else
{
e = new ActiveConfigException("Parsing json failed");
}
}
callback(results.ToArray(), e);
});
}