コード例 #1
0
 protected void Page_Load(object sender, EventArgs e)
 {
     RegisterOEMSkins("form.css");
     if (!IsPostBack)
     {
         string companyId = Request.QueryString["CompanyId"];
         lblSecurityCode.Text = companyId.Replace("-", "");
         if (!string.IsNullOrWhiteSpace(companyId))
         {
             var setting     = ExternalInterfaceService.Query(Guid.Parse(companyId));
             var companyInfo = CompanyService.GetCompanyInfo(Guid.Parse(companyId));
             if (setting != null)
             {
                 if (companyInfo.IsOpenExternalInterface)
                 {
                     rbnOpen.Checked  = true;
                     rbnClose.Checked = false;
                 }
                 BindExternalInterfaceInfo(setting);
             }
         }
     }
 }
コード例 #2
0
ファイル: Processor.cs プロジェクト: 842549829/Pool
        public XmlDocument Execute()
        {
            XmlDocument result;
            var         interfaceName    = GetType().Name;
            var         remoteIP         = AddressLocator.IPAddressLocator.GetRequestIP(_context.Request).ToString();
            Guid?       organization     = null;
            var         organizationName = "";

            try
            {
                organization     = Company.CompanyId;
                organizationName = Company.AbbreviateName;
                // 控制访问频率
                InvokeStatistic.Instance.Save(interfaceName, _userName, remoteIP);
                var externalInterface = ExternalInterfaceService.Query(Company.CompanyId);
                // 是否有权限访问
                if (externalInterface.BindIP != remoteIP)
                {
                    throw new InterfaceInvokeException("10");
                }
                if (externalInterface.InterfaceInvokeMethod == null || !externalInterface.InterfaceInvokeMethod.Any())
                {
                    throw new InterfaceInvokeException("10");
                }
                if (!externalInterface.InterfaceInvokeMethod.Contains(interfaceName))
                {
                    throw new InterfaceInvokeException("10");
                }
                // 验证签名
                ValidateSign();
                // 验证业务参数
                ValidateBusinessParameters();
                //存储请求接口的域名
                ChinaPay.B3B.Service.LogService.SaveTextLog("客户端信息:IP " + _context.Request.UserHostAddress + " 域名 " + _context.Request.UserHostName);
                // 执行接口处理
                result = FormatInvokeResult("0", string.Empty, ExecuteCore());
            }
            catch (InterfaceInvokeException iie)
            {
                result = FormatInvokeResult(iie.Code, iie.Parameter, string.Empty);
            }
            catch (CustomException ex)
            {
                result = FormatInvokeResult("9", ex.Message, string.Empty);
            }
            catch (Exception ex)
            {
                Service.LogService.SaveExceptionLog(ex, "调用接口" + interfaceName);
                result = FormatInvokeResult("99", string.Empty, string.Empty);
            }
            var businessParametersText = new StringBuilder();
            var businessParameters     = GetBusinessParameterCollection();

            foreach (var key in businessParameters.AllKeys)
            {
                businessParametersText.AppendFormat("&{0}={1}", key, businessParameters.Get(key));
            }
            // 记录访问日志
            var invokeLog = new Service.Log.Domain.InterfaceInvokeLog
            {
                InterfaceName    = interfaceName,
                UserName         = _userName,
                Organization     = organization,
                OrganizationName = organizationName,
                IPAddress        = remoteIP,
                Request          = string.Format("userName={0}&sign={1}{2}", _userName, _sign, businessParametersText.ToString()),
                Response         = result.InnerXml,
                Time             = DateTime.Now
            };

            Service.LogService.SaveInterfaceInvokeLog(invokeLog);
            return(result);
        }