/// <summary> /// 申请App实例Id /// 置换token /// 获取远程配置 /// </summary> private static void InitApp() { //获取AppId var config = AppSeed.GetAppLocalConfig(); if (config.ActionResult) { if (config.Data.IsRemoteConfigRoot)//远程配置服务不执行App验证和实例获取 { AppSeed.Instance.InitConfig(); return; } int appId = config.Data.AppID; int appInstanceId = config.Data.AppInstanceID; var urlParamater = new Dictionary <string, string>(); String response = null; urlParamater.Add("t", config.Data.SecurityToken); String strAppService = JsonHelper.Serlaize <List <AppService> >(GetAppService(appId)); urlParamater.Add("appservice", strAppService); urlParamater.Add("appinstanceid", appInstanceId.ToString()); response = HttpHelper.Transaction(ConfigHelper.Instance.GetComponentConfig().AppAuthServiceUrl, urlParamater); TransactionResult <AppAuthReponse> trAppService = JsonHelper.DeserializeSafe <TransactionResult <AppAuthReponse> >(response); if (trAppService.Code == 0) { if (appInstanceId == 0) { appInstanceId = trAppService.Data.AppInstanceId; AppSeed.SetAppInstanceId(appInstanceId); } config.Data.SecurityToken = trAppService.Data.AppInstanceToken;//将APP的Token置换为实例Token,但是不保存至文件中 AppSeed.Instance.InitConfig(); //初始化授权数据 SecurityRoot.Init(appId); //启动心跳 Heart.Isntance.Start(config.Data.SecurityToken, appInstanceId, appId); } else { throw new Exception(trAppService.Message); } } }