/// <summary> /// 获取服务Api /// </summary> /// <param name="FullCode"></param> /// <returns></returns> public String GetApiUrl(String FullCode) { var services = ServiceConfig.Services; string[] codes = FullCode.Split('.'); if (codes.Length != 4) { throw new ArgumentException("参数[FullCode]不合法!"); } string serviceCode = codes[0] + "." + codes[1]; ServiceConfigResponse.Service serviceItem = services.Single(m => m.Code == serviceCode); string controllerCode = codes[2]; ServiceConfigResponse.Controller controllerItem = serviceItem.Controllers.Single(m => m.Code == controllerCode); string actionCode = codes[3]; ServiceConfigResponse.Action actionItem = controllerItem.Actions.Single(m => m.Code == actionCode); string strApi = String.Format("{0}/{1}/{2}", serviceItem.Host, controllerItem.Name, actionItem.Name); return(strApi); }
/// <summary> /// 通过FullCode 解析到服务API地址 /// </summary> /// <param name="FullCode"></param> /// <returns></returns> public String Resolve(String FullCode) { List <ServiceConfigResponse.Service> services = ConfigInfo.Services as List <ServiceConfigResponse.Service>; string[] codes = FullCode.Split('.'); if (codes.Length != 3) { throw new ArgumentException("参数【FullCode】格式不合法!"); } string serviceCode = codes[0]; string controllerCode = codes[1]; string actionCode = codes[2]; ServiceConfigResponse.Service serviceItem = services.FirstOrDefault(m => m.Code == serviceCode); ServiceConfigResponse.Controller controllerItem = serviceItem.Controllers.FirstOrDefault(m => m.Code == controllerCode); ServiceConfigResponse.Action actionItem = controllerItem.Actions.FirstOrDefault(m => m.Code == actionCode); return(String.Format("{0}/{1}/{2}", serviceItem.Host, controllerItem.Name, actionItem.Name)); }