lu
2024-12-06 770c671fb4ad9bf3691b1250bc10f9c4087edf97
DevApp/Gs.DevApp/ToolBox/UtilityHelper.cs
@@ -26,6 +26,7 @@
using Newtonsoft.Json.Linq;
using static System.Windows.Forms.Control;
namespace Gs.DevApp.ToolBox
{
    /// <summary>
@@ -64,35 +65,35 @@
        /// <param name="meth">方法名称</param>
        /// <param name="param">参数</param>
        /// <returns></returns>
        public static async Task<string> HttpPostAsync(string url, string meth, string param)
        {
            if (string.IsNullOrEmpty(url))
                url = WebApiUrl;
            url += meth;
            var request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "POST";
            request.ContentType = "application/json";
            request.Headers.Add("token", GetBasicAuthTicket());
            request.Accept = "*/*";
            request.Timeout = 15000;
            request.AllowAutoRedirect = false;
            request.ServicePoint.Expect100Continue = false;
            HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
            request.CachePolicy = noCachePolicy;
            using (Stream requestStream = await request.GetRequestStreamAsync())
            {
                byte[] dataBytes = Encoding.UTF8.GetBytes(param);
                await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length);
            }
        //public static async Task<string> HttpPostAsync(string url, string meth, string param)
        //{
        //    if (string.IsNullOrEmpty(url))
        //        url = WebApiUrl;
        //    url += meth;
        //    var request = (HttpWebRequest)WebRequest.Create(url);
        //    request.Method = "POST";
        //    request.ContentType = "application/json";
        //    request.Headers.Add("token", GetBasicAuthTicket());
        //    request.Accept = "*/*";
        //    request.Timeout = 15000;
        //    request.AllowAutoRedirect = false;
        //    request.ServicePoint.Expect100Continue = false;
        //    HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
        //    request.CachePolicy = noCachePolicy;
        //    using (Stream requestStream = await request.GetRequestStreamAsync())
        //    {
        //        byte[] dataBytes = Encoding.UTF8.GetBytes(param);
        //        await requestStream.WriteAsync(dataBytes, 0, dataBytes.Length);
        //    }
            using (WebResponse response = await request.GetResponseAsync())
            {
                using (StreamReader reader = new StreamReader(response.GetResponseStream()))
                {
                    return await reader.ReadToEndAsync();
                }
            }
        }
        //    using (WebResponse response = await request.GetResponseAsync())
        //    {
        //        using (StreamReader reader = new StreamReader(response.GetResponseStream()))
        //        {
        //            return await reader.ReadToEndAsync();
        //        }
        //    }
        //}
        /// <summary>
        ///     httpPost访问服务
@@ -103,24 +104,28 @@
        /// <returns></returns>
        public static string HttpPost(string url, string meth, string param)
        {
            if (string.IsNullOrEmpty(url))
                url = WebApiUrl;
            url += meth;
            var request = (HttpWebRequest)WebRequest.Create(url);
            request.Method = "POST";
            request.ContentType = "application/json";
            request.Headers.Add("token", GetBasicAuthTicket());
            request.Accept = "*/*";
            request.Timeout = 15000;
            request.AllowAutoRedirect = false;
            request.ServicePoint.Expect100Continue = false;
            HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
            request.CachePolicy = noCachePolicy;
            DevExpress.Utils.WaitDialogForm wdf = new DevExpress.Utils.WaitDialogForm("拼命加载中,请稍后..."+ meth, "友情提示");
            HttpWebRequest request = null;
            StreamWriter requestStream = null;
            WebResponse response = null;
            string responseStr = null;
            try
            {
                if (string.IsNullOrEmpty(url))
                    url = WebApiUrl;
                url += meth;
                request = (HttpWebRequest)WebRequest.Create(url);
                request.Method = "POST";
                request.ContentType = "application/json";
                request.Headers.Add("token", GetBasicAuthTicket());
                request.Accept = "*/*";
                request.Timeout = 15000;
                request.AllowAutoRedirect = false;
                request.ServicePoint.Expect100Continue = false;
                wdf.SetCaption("加载进度(10/100)");
                HttpRequestCachePolicy noCachePolicy = new HttpRequestCachePolicy(HttpRequestCacheLevel.NoCacheNoStore);
                request.CachePolicy = noCachePolicy;
                wdf.SetCaption("加载进度(20/100)");
                requestStream = new StreamWriter(request.GetRequestStream());
                requestStream.Write(param);
                requestStream.Close();
@@ -133,9 +138,11 @@
                    //File.WriteAllText(Server.MapPath("~/") + @"\test.txt", responseStr); 
                    reader.Close();
                }
                wdf.SetCaption("加载进度(80/100)");
            }
            catch (Exception ex)
            {
                wdf.Close();
                LogHelper.Debug(url, param + ":" + ex.Message);
                throw ex;
            }
@@ -145,7 +152,8 @@
                requestStream = null;
                response = null;
            }
            wdf.SetCaption("加载进度(90/100)");
            wdf.Close();
            return responseStr;
        }