示例#1
0
        /// <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);
        }
示例#2
0
        /// <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));
        }