• web页面常用方法及INI文件的读取方法


      public static class PageBase        {
                public static String MD5(String input)
                {
                    System.Security.Cryptography.MD5 md5 = new System.Security.Cryptography.MD5CryptoServiceProvider();
                    byte[] bytes = System.Text.Encoding.UTF8.GetBytes(input);
                    bytes = md5.ComputeHash(bytes);
                    md5.Clear();

                    string ret = "";
                    for (int i = 0; i < bytes.Length; i++)
                    {
                        ret += Convert.ToString(bytes[i], 16).PadLeft(2, '0');
                    }

                    return ret.PadLeft(32, '0');
                }

        /// <summary>
                /// 截取指定长度字符串
                /// </summary>
                /// <param keywords="s"></param>
                /// <param keywords="l"></param>
                /// <returns></returns>
                public static string getStr(string s, int l)
                {
                    string temp = s;
                    if (Regex.Replace(temp, "[\u4e00-\u9fa5]", "zz", RegexOptions.IgnoreCase).Length <= l)
                    {
                        return temp;
                    }
                    for (int i = temp.Length; i >= 0; i--)
                    {
                        temp = temp.Substring(0, i);
                        if (Regex.Replace(temp, "[\u4e00-\u9fa5]", "zz", RegexOptions.IgnoreCase).Length <= l - 3)
                        {
                            temp = temp + "...";
                            return temp;
                        }
                    }

                    return "";
                }

                /// <summary>
                /// 获取客户端IP
                /// </summary>
                /// <returns></returns>
                public static string GetClientIP()
                {
                    string result = HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
                    if (null == result || result == String.Empty)
                    {
                        result = HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];
                    }

                    if (null == result || result == String.Empty)
                    {
                        result = HttpContext.Current.Request.UserHostAddress;
                    }
                    return result;
                }

                /// <summary>
                /// 获取网站根目录路径
                /// </summary>
                /// <returns></returns>
                public static string GetWebSiteRootUrl()
                {
                    return HttpContext.Current.Request.Url.AbsoluteUri.Replace(HttpContext.Current.Request.AppRelativeCurrentExecutionFilePath.Replace("~/", string.Empty), string.Empty);
                }

                /// <summary>
                /// 发送电子邮件
                /// </summary>
                /// <param keywords="addressTo">接收地址</param>
                /// <param keywords="addressFrom">发送地址</param>
                /// <param keywords="strSubject">邮件标题</param>
                /// <param keywords="strBody">邮件内容</param>
                /// <param keywords="smtpServer">smtp服务器配置</param>
                /// <param keywords="smtpPort">smtp端口</param>
                /// <param keywords="password">gmail密码</param>
                /// <param keywords="message">提示信息</param>
                /// <returns></returns>
                public static bool SendEmail(string addressTo, string addressFrom, string strSubject, string strBody, string smtpServer, int smtpPort, string password, ref string message)
                {
                    try
                    {
                        using (MailMessage xMessage = new MailMessage(addressFrom, addressTo, strSubject, strBody))
                        {
                            SmtpClient xClient;
                            using (xClient = new SmtpClient(smtpServer, smtpPort))
                            {
                                xClient.Credentials = new NetworkCredential(addressFrom, password);
                                xClient.EnableSsl = false;
                                xClient.Send(xMessage);
                            }
                        }
                        return true;
                    }
                    catch (System.Exception ex)
                    {
                        message = ex.Message;
                        throw ex;

                    }
                }

                ///   <summary>
                ///   将指定字符串按指定长度进行剪切,
                ///   </summary>
                ///   <param   keywords= "oldStr "> 需要截断的字符串 </param>
                ///   <param   keywords= "maxLength "> 字符串的最大长度 </param>
                ///   <param   keywords= "endWith "> 超过长度的后缀 </param>
                ///   <returns> 如果超过长度,返回截断后的新字符串加上后缀,否则,返回原字符串 </returns>
                public static string StringTruncat(string oldStr, int maxLength, string endWith)
                {
                    if (string.IsNullOrEmpty(oldStr))
                        //   throw   new   NullReferenceException( "原字符串不能为空 ");
                        return oldStr + endWith;
                    if (maxLength < 1)
                        throw new Exception("返回的字符串长度必须大于[0] ");
                    if (oldStr.Length > maxLength)
                    {
                        string strTmp = oldStr.Substring(0, maxLength);
                        if (string.IsNullOrEmpty(endWith))
                            return strTmp;
                        else
                            return strTmp + endWith;
                    }
                    return oldStr;
                }


                /// <summary>
                /// 取掉标签
                /// </summary>
                /// <param keywords="beHtml">带标签的正文</param>
                /// <returns>无标签正文</returns>
                public static string ToContent(string beHtml)
                {
                    string result = System.Text.RegularExpressions.Regex.Replace(beHtml, @"<[^>]*>", "");
                    return result;
                }

            /// <summary>
            /// 页面弹框
            /// </summary>
            /// <param name="Msg">显示输出参数</param>
            public void Alert(string Msg)
            {
                string expression = Msg.Trim();
                if (expression != "")
                {
                    expression = expression.Replace("'", "\'");
                    expression = expression.Replace("\"", "\\\"");
                    expression = expression.Replace(@"\", @"\\");
                    //expression = expression.Replace("\n", "\\n");
                    base.ClientScript.RegisterStartupScript(this.GetType(), "PageBaseAlert", string.Format("alert('{0}');", expression), true);
                }
            }

            /// <summary>
            /// 解决方案路径
            /// </summary>
            /// <returns></returns>
            protected string Path()
            {
                try
                {
                    string[] path = System.AppDomain.CurrentDomain.BaseDirectory.Split('\\');
                    StringBuilder strpath = new StringBuilder();
                    for (int i = 0; i < path.Length - 2; i++)
                    {
                        strpath.Append(path[i] + "\\");
                    }
                    strpath.Remove(strpath.Length - 1, 1);
                    return strpath.ToString();
                }
                catch (Exception ex)
                {
                    throw new Exception(ex.Message);
                }
            }

    }

      //读取INI文件

        internal static class WinAPI
        {
            /// <summary>
            /// 写入ini配置文件
            /// </summary>
            /// <param name="section">INI文件中的段落</param>
            /// <param name="key">INI文件中的关键字</param>
            /// <param name="val">INI文件中关键字对应的值</param>
            /// <param name="filePath">INI文件完整的路径和名称</param>
            /// <returns></returns>
            [DllImport("kernel32")]
            protected static extern long WritePrivateProfileString(string section, string key, string val, string filePath);
            /// <summary>
            /// 读取ini配置文件
            /// </summary>
            /// <param name="section">INI文件中的段落</param>
            /// <param name="key">INI文件中的关键字</param>
            /// <param name="def">无法读取数据时的省缺值</param>
            /// <param name="retVal">INI文件中关键字对应的值</param>
            /// <param name="size">数值的大小</param>
            /// <param name="filePath">INI文件完整的路径和名称</param>
            /// <returns></returns>
            [DllImport("kernel32")]
            protected static extern long GetPrivateProfileString(string section, string key, string def, StringBuilder retVal, int size, string filePath);
        }

  • 相关阅读:
    从TimeQuest角度看set_max_delay
    stm32的窗口看门狗的一点发现
    UcosII 就绪表的理解
    关于stm32 APB总线上的"接口时钟使能"与"外设时钟使能"
    关于STM32单片机GPIO口上拉与下拉输入
    从TimeQuest角度看create_generated_clock
    201871010133 赵永军《面向对象程序设计(java)》第六、七周学习总结
    201871010133赵永军《面向对象程序设计(java)》第十一周学习总结
    201871010133赵永军《面向对象程序设计(java)》第二周学习总结
    201871010133赵永军《面向对象程序设计(java)》第十二周学习总结
  • 原文地址:https://www.cnblogs.com/lonelyofsoul/p/web_CommonMethod.html
Copyright © 2020-2023  润新知