Exemple #1
0
        /// <summary>
        /// 检查windows服务是否已存在
        /// </summary>
        /// <param name="request"></param>
        private void CheckWinservice(GetVersionVm request)
        {
            if (string.IsNullOrEmpty(request.Name))
            {
                WriteError("service name required!");
                return;
            }

            if (!string.IsNullOrEmpty(request.Mac) && !Setting.CheckIsInWhiteMacList(request.Mac))
            {
                WriteError($"macAddress:[{request.Mac}] invalid");
                return;
            }

            var serviceName = request.Name.Trim();
            var service     = WindowServiceHelper.GetWindowServiceByName(serviceName);

            if (!string.IsNullOrEmpty(service.Item2))
            {
                WriteError(service.Item2);
                return;
            }

            CheckExistResult result = new CheckExistResult {
                WebSiteName = serviceName, Success = service.Item1 != null
            };

            WriteSuccess(result);
        }
Exemple #2
0
        /// <summary>
        /// 检查IIS中是否存在指定网站
        /// </summary>
        /// <param name="request"></param>
        private void CheckIIs(GetVersionVm request)
        {
            if (string.IsNullOrEmpty(request.Name))
            {
                WriteError("web site name required!");
                return;
            }

            if (!string.IsNullOrEmpty(request.Mac) && !Setting.CheckIsInWhiteMacList(request.Mac))
            {
                WriteError($"macAddress:[{request.Mac}] invalid");
                return;
            }

            var webSiteName = request.Name.Trim();
            var siteNameArr = webSiteName.Split('/');

            if (siteNameArr.Length > 2)
            {
                WriteError("webSiteName level limit is 2");
                return;
            }

            var level1 = siteNameArr[0];
            var level2 = siteNameArr.Length == 2 ? siteNameArr[1] : string.Empty;

            var isSiteExistResult = IISHelper.IsSiteExist(level1, level2);

            if (!string.IsNullOrEmpty(isSiteExistResult.Item3))
            {
                WriteError(isSiteExistResult.Item3);
                return;
            }

            var iisVersion = IISHelper.GetIISVersion();

            if (iisVersion <= 6)
            {
                WriteError($"remote iis verison is too low!");
                return;
            }

            CheckExistResult result = new CheckExistResult();

            result.WebSiteName = webSiteName;
            result.Level1Name  = level1;
            result.Level1Exist = isSiteExistResult.Item1;
            if (!isSiteExistResult.Item1)
            {
                //一级不存在 那肯定要输入了 端口号必填
                result.Level1Exist = false;
            }
            else if (isSiteExistResult.Item1 && !isSiteExistResult.Item2 && !string.IsNullOrEmpty(level2))
            {
                //一级存在二级不存在 不用填端口号
                result.Level2Exist = false;
            }
            else
            {
                result.Success = true;
            }

            WriteSuccess(result);
        }