首页 > 代码库 > .net 常用方法

.net 常用方法

   #region 获取mvc 模型绑定的错误        /// <summary>        /// 获得某个属性的错误ModelState错误信息        /// </summary>        /// <param name="modelState"></param>        /// <param name="attribute"></param>        /// <returns></returns>        public static string GetModeStateErrorByAttribute(ModelStateDictionary modelState, string attribute)        {            string errorMessage = string.Empty;            var allError = modelState[attribute];            if (allError != null)            {                foreach (var item in allError.Errors)                {                    errorMessage += item.ErrorMessage;                }            }            return errorMessage;        }        /// <summary>        /// 得到所有属性的错误信息        /// </summary>        /// <param name="modelState"></param>        /// <returns></returns>        public static string GetModeStateErrorByAttribute(ModelStateDictionary modelState)        {            string errorMessage = string.Empty;            foreach (var item in modelState.Keys)            {                errorMessage += GetModeStateErrorByAttribute(modelState, item);            }            return errorMessage;        }        #endregion 获取mvc 模型绑定的错误        #region GET POST 数据方法        private static string PostHttpWebRequest(string data, string url)        {            string result = null;            try            {                HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);                byte[] requestBytes = System.Text.Encoding.UTF8.GetBytes(data);                req.Method = "POST";                req.ContentType = "application/x-www-form-urlencoded";                req.ContentLength = requestBytes.Length;                Stream requestStream = req.GetRequestStream();                requestStream.Write(requestBytes, 0, requestBytes.Length);                requestStream.Close();                HttpWebResponse res = (HttpWebResponse)req.GetResponse();                StreamReader sr = new StreamReader(res.GetResponseStream());                result = sr.ReadToEnd();                sr.Close();                res.Close();            }            catch (Exception ex)            {                throw;            }            return result;        }        private static string PostWebRequestAndCookie(string postData, string url)        {            Encoding encoding = Encoding.GetEncoding("utf-8");            byte[] bytesToPost = encoding.GetBytes(postData);            CookieContainer cookieCon = new CookieContainer();            cookieCon.Add(new Cookie { Name = "zhud", Value = http://www.mamicode.com/"true", Domain = "tiny1.yaolan.com" });            HttpWebRequest httpRequest = (HttpWebRequest)WebRequest.Create(url);            httpRequest.CookieContainer = cookieCon;            httpRequest.UserAgent = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727)";            httpRequest.ContentType = "application/x-www-form-urlencoded";            httpRequest.Method = "POST";            httpRequest.ContentLength = bytesToPost.Length;            Stream requestStream = httpRequest.GetRequestStream();            requestStream.Write(bytesToPost, 0, bytesToPost.Length);            requestStream.Close();            Stream responseStream = httpRequest.GetResponse().GetResponseStream();            string stringResponse = string.Empty;            StreamReader responseReader = new StreamReader(responseStream, Encoding.UTF8);            stringResponse = responseReader.ReadToEnd();            responseStream.Close();            return stringResponse;        }        public static string PostWebRequest(string data, string url)        {            string result = null;            try            {                WebRequest request = WebRequest.Create(url);                request.Method = "POST";                byte[] byteArray = Encoding.UTF8.GetBytes(data);                request.ContentType = "application/x-www-form-urlencoded";                request.ContentLength = byteArray.Length;                Stream dataStream = request.GetRequestStream();                dataStream.Write(byteArray, 0, byteArray.Length);                dataStream.Close();                WebResponse response = request.GetResponse();                dataStream = response.GetResponseStream();                StreamReader reader = new StreamReader(dataStream);                result = reader.ReadToEnd();                reader.Close();                response.Close();            }            catch (Exception ex)            {                throw;            }            return result;        }        public static string GetWebRequest(string url)        {            string result = null;            try            {                WebRequest webRequest = WebRequest.Create(url);                //  webRequest.Headers.Add("Cookie", Request.Headers["Cookie"]);                WebResponse webResponse = webRequest.GetResponse();                Stream stream = webResponse.GetResponseStream();                StreamReader sr = new StreamReader(stream, Encoding.GetEncoding("UTF-8"));                result = sr.ReadToEnd();                webResponse.Close();                stream.Close();            }            catch (Exception ex)            {                throw;            }            return result;        }        public static string PostWebClient(NameValueCollection data, string url)        {            string result = null;            try            {                System.Net.WebClient webClient = new System.Net.WebClient();                byte[] byRemoteInfo = webClient.UploadValues(url, "POST", data);                result = System.Text.Encoding.UTF8.GetString(byRemoteInfo);            }            catch (Exception ex)            {                throw;            }            return result;        }        public static string GetWebClint(string url)        {            string result = null;            try            {                System.Net.WebClient webClient = new System.Net.WebClient();                result = webClient.DownloadString(url);            }            catch (Exception ex)            {                throw;            }            return result;        }        #endregion GET POST 数据方法        public static string UserHostAddress        {            get            {                return HttpContext.Current.Request.UserHostAddress;            }        }        /// <summary>        /// ip是否有效        /// </summary>        /// <returns></returns>        public static bool IPIsValid        {            get            {                bool ipIsValid = false;                foreach (var item in IPLimitList)                {                    if (HttpContext.Current.Request.UserHostAddress.Contains(item.Replace("*", string.Empty)))                    {                        ipIsValid = true;                        break;                    }                }                return ipIsValid;            }        }        public static DateTime WeekStartTime        {            get            {                DateTime dt = DateTime.Now;                int dayOfWeek = -1 * (int)dt.DayOfWeek;                DateTime weekStartTime = dt.AddDays(dayOfWeek + 1);                if (dayOfWeek == 0)                {                    weekStartTime = weekStartTime.AddDays(-7);                }                return weekStartTime.Date;            }        }        public static DateTime WeekEndTime        {            get            {                return WeekStartTime.AddDays(7);            }        }        /// <summary>        /// xml序列化        /// </summary>        /// <param name="type"></param>        /// <param name="obj"></param>        /// <returns></returns>        public static string XmlSerializer<T>(T obj)        {            System.IO.StringWriter stringWriter = new System.IO.StringWriter();            try            {                System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(T));                xmlSerializer.Serialize(stringWriter, obj);            }            catch (Exception ex)            {                throw;            }            return stringWriter.ToString();        }        /// <summary>        /// xml反序列化        /// </summary>        /// <typeparam name="T"></typeparam>        /// <param name="xml"></param>        /// <returns></returns>        public static T XmlDeserialize<T>(string xml)        {            System.IO.StringReader stringReader = new System.IO.StringReader(xml);            System.Xml.Serialization.XmlSerializer xmlSerializer = new System.Xml.Serialization.XmlSerializer(typeof(T));            return (T)xmlSerializer.Deserialize(stringReader);        }        public static List<object> GetEnumItems(Type enumType)        {            var objList = new List<object>();            foreach (var item in Enum.GetValues(enumType))            {                objList.Add(new { Text=item.ToString(),Value=http://www.mamicode.com/(int)item});            }            return objList;                    }        /// <summary>        /// 将对象转化为Json字符串        /// </summary>        /// <typeparam name="T">源类型</typeparam>        /// <param name="obj">源类型实例</param>        /// <returns>Json字符串</returns>        public static string ObjToJson<T>(T obj)        {            DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(obj.GetType());            using (MemoryStream ms = new MemoryStream())            {                jsonSerializer.WriteObject(ms, obj);                return Encoding.UTF8.GetString(ms.ToArray());            }        }        /// <summary>        /// 将Json字符串转化为对象        /// </summary>        /// <typeparam name="T">目标类型</typeparam>        /// <param name="strJson">Json字符串</param>        /// <returns>目标类型的一个实例</returns>        public static T JsonToObj<T>(string strJson)        {            // T obj = Activator.CreateInstance<T>();            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(strJson)))            {                DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(typeof(T));                return (T)jsonSerializer.ReadObject(ms);            }        }        public static T ChangeType<T>(object value)        {            return (T)Convert.ChangeType(value, typeof(T));        }        /// <summary>        /// 将毫秒数(从1970/1/1 到现在所经历的毫秒数)转化为本地时区的时间        /// </summary>        /// <param name="ltime"></param>        /// <returns></returns>        public static DateTime GetTimeFromInt(long ltime)        {            long Eticks = (long)(ltime * 10000) + new DateTime(1970, 1, 1).Ticks;            DateTime dt = new DateTime(Eticks).ToLocalTime();            return dt;        }        /// <summary>        ///  将时间变成毫秒数(从1970/1/1 到现在所经历的毫秒数)        /// </summary>        /// <param name="dt"></param>        /// <returns></returns>        public static long GetIntFromTime(DateTime dt)        {            DateTime dtNew = DateTime.Now.ToUniversalTime();            long Sticks = (dtNew.Ticks - new DateTime(1970, 1, 1).Ticks) / 10000;            return Sticks;        }        public static string GetMD5(string input)        {            //System.Security.Cryptography.MD5CryptoServiceProvider MD5CSP = new System.Security.Cryptography.MD5CryptoServiceProvider();            //byte[] inputByte = System.Text.Encoding.Unicode.GetBytes(input);            //byte[] md5Byte = MD5CSP.ComputeHash(inputByte);            //md5Result = System.Text.Encoding.Unicode.GetString(md5Byte);            return System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(input, "SHA1").ToLower();        }