Example #1
0
        /// <summary>
        /// 如果集群的时候根据WCF设置表(WcfConfigInfo)设置的群组ID对应的百分比权重生成随机数组服务(要求:百分比加起来是百分之一百)
        /// 集群的时候,有可能某些服务器比较好,有些配置比较低。
        /// 集群需要考虑:数据库主从复制等问题。
        /// </summary>
        /// <param name="strWcfGroup"></param>
        public static List <string> GenServiceArrayByPercentage(string strWcfGroup)
        {
            List <WcfConfigInfo> lstWcfConfigInfo = new WcfConfigInfoDAL().GetListArray("WcfGroup='" + strWcfGroup + "'");
            List <string>        lstInfo          = new List <string>();

            if (lstWcfConfigInfo.Count == 1)
            {
                lstInfo.Add(lstWcfConfigInfo[0].EnpointBindUrl);
                return(lstInfo);
            }
            string[] strArray = new string[100];
            foreach (WcfConfigInfo item in lstWcfConfigInfo)
            {
                int intPercentage;
                if (int.TryParse(item.Percentage.ToString(), out intPercentage) == false)
                {
                    throw new Exception("百分比输入不合法,请输入整数");
                }
                for (int i = 0; i < intPercentage; i++)
                {
                    lstInfo.Add(item.EnpointBindUrl.TrimEnd('/') + "/" + item.WcfServiceClassName);
                }
            }
            RandomList.Random(ref lstInfo);
            Services = lstInfo;
            return(lstInfo);
        }
Example #2
0
        private void FrmWcfHost_Load(object sender, EventArgs e)
        {
            chkAutoRun.Visible = GetConfigKeyValue("AutoRun") == "true";
            WcfConfigInfoDAL     dal     = new WcfConfigInfoDAL();
            List <WcfConfigInfo> lstInfo = dal.GetListArray("State=1");

            foreach (WcfConfigInfo item in lstInfo)
            {
                TreeNode node = treeView1.Nodes.Add("[" + item.WcfServiceName + "]");//+ item.EnpointBindUrl
                node.Tag = item;
            }
            if (lstInfo.Count > 0)
            {
                foreach (TreeNode item in treeView1.Nodes)
                {
                    item.Checked = true;
                }
                if (GetConfigKeyValue("AutoRunService") == "true")
                {
                    btnStartService_Click(null, null);
                }
            }
        }