示例#1
0
 /// <summary>
 /// 从xml中加载静态资源配置信息
 /// </summary>
 /// <param name="xmlPath">xml路径</param>
 /// <returns>配置对象</returns>
 public static XCLNetTools.Entity.StaticResourceConfig GetStaticResourceConfig(string xmlPath)
 {
     XCLNetTools.Entity.StaticResourceConfig model = null;
     if (!string.IsNullOrEmpty(xmlPath))
     {
         model = XCLNetTools.Serialize.XML.DeserializeFromXMLFile <XCLNetTools.Entity.StaticResourceConfig>(xmlPath);
     }
     return(model);
 }
示例#2
0
        /// <summary>
        /// 获取静态资源文件引用
        /// </summary>
        /// <param name="config">配置</param>
        /// <param name="nameList">指定输出项,若为null,则输出所有</param>
        /// <returns>引用的地址</returns>
        public static string GetStaticResourceUrl(XCLNetTools.Entity.StaticResourceConfig config, List <string> nameList = null)
        {
            StringBuilder str = new StringBuilder();
            List <XCLNetTools.Entity.StaticResource> modelList = null;

            if (null == nameList || nameList.Count == 0)
            {
                modelList = config.StaticResourceList;
            }
            else
            {
                var noExist = nameList.Where(k => !config.StaticResourceList.Exists(m => string.Equals(k.Trim(), m.Name.Trim(), StringComparison.OrdinalIgnoreCase))).ToList();
                if (null != noExist && noExist.Count > 0)
                {
                    throw new Exception(string.Format("静态资源({0})在配置文件中未找到!", string.Join(",", noExist.ToArray())));
                }
                //要按nameList排序
                modelList = new List <StaticResource>();
                for (int i = 0; i < nameList.Count; i++)
                {
                    var model = config.StaticResourceList.FirstOrDefault(k => string.Equals(nameList[i].Trim(), k.Name, StringComparison.OrdinalIgnoreCase));
                    if (null != model)
                    {
                        modelList.Add(model);
                    }
                }
            }
            if (null != modelList && modelList.Count > 0)
            {
                modelList.ForEach(model =>
                {
                    str.Append(model.ToString());
                });
            }
            return(str.ToString());
        }