Beispiel #1
0
        /// <summary>
        ///     通过Post调用
        /// </summary>
        /// <param name="apiName"></param>
        /// <param name="form"></param>
        /// <returns></returns>
        public ApiValueResult Post(string apiName, string form)
        {
            LogRecorderX.BeginStepMonitor("内部API调用" + ToUrl(apiName));
            var ctx = string.IsNullOrEmpty(Bearer) ? null : $"Bearer {Bearer}";

            LogRecorderX.MonitorTrace(ctx);
            LogRecorderX.MonitorTrace("Arguments:" + form);
            var req = (HttpWebRequest)WebRequest.Create(ToUrl(apiName));

            req.Method      = "POST";
            req.ContentType = "application/x-www-form-urlencoded";
            req.Headers.Add(HttpRequestHeader.Authorization, ctx);
            try
            {
                using (var rs = req.GetRequestStream())
                {
                    var formData = Encoding.UTF8.GetBytes(form);
                    rs.Write(formData, 0, formData.Length);
                }
            }
            catch (Exception ex)
            {
                LogRecorderX.Exception(ex);
                LogRecorderX.EndStepMonitor();
                return(ErrorResult(-3));
            }
            using (MonitorScope.CreateScope("Caller Remote"))
            {
                return(GetResult(req));
            }
        }
Beispiel #2
0
        /// <summary>
        ///     通过Get调用
        /// </summary>
        /// <typeparam name="TResult"></typeparam>
        /// <param name="apiName"></param>
        /// <param name="arguments"></param>
        /// <returns></returns>
        public ApiResult <TResult> Get <TResult>(string apiName, string arguments)
        {
            LogRecorderX.BeginStepMonitor("内部API调用" + ToUrl(apiName));
            var ctx = string.IsNullOrEmpty(Bearer) ? null : $"Bearer {Bearer}";

            LogRecorderX.MonitorTrace(ctx);
            LogRecorderX.MonitorTrace("Arguments:" + arguments);
            if (!string.IsNullOrWhiteSpace(arguments))
            {
                apiName = $"{apiName}?{arguments}";
            }
            var req = (HttpWebRequest)WebRequest.Create(ToUrl(apiName));

            req.Method      = "GET";
            req.ContentType = "application/x-www-form-urlencoded";
            req.Headers.Add(HttpRequestHeader.Authorization, ctx);
            return(GetResult <TResult>(req));
        }