some functions

来源:互联网 发布:mac os x下载 编辑:程序博客网 时间:2024/04/29 23:21

namespace SooFXX.Components
{
 using System;
 using System.Net;
 using System.Data;
 using System.Web;
 using System.IO;
 using System.Text;
 using System.Web.Caching;
 using System.Configuration;
 using System.Xml;
 /// <summary>
 /// Globals 的摘要说明。
 /// </summary>
 public class Globals
 {
  #region 取得WebURL
  /// <summary>
  /// UrlBase 取得项目的根URL
  /// </summary>
  static public string ApplicationPath
  {
   get
   {
    string BaseUrl = UrlSuffix;
    if(BaseUrl.EndsWith("/"))
    {
     return @"http://" + BaseUrl.Substring(0,BaseUrl.Length-1);
    }
    else
    {
     return @"http://" + BaseUrl;
    }    
   }
  }
  static private string UrlSuffix
  {
   get
   {
    if(HttpContext.Current.Request.Url.IsDefaultPort)
    {
     return HttpContext.Current.Request.Url.Host + HttpContext.Current.Request.ApplicationPath;
    }
    else
    {
     return HttpContext.Current.Request.Url.Host + @":" + HttpContext.Current.Request.Url.Port + HttpContext.Current.Request.ApplicationPath;
    }
   }
  }
  #endregion

  #region 返回已登录用户UserID,未登录返回0
  /// <summary>
  /// LoginUserID,返回已登录用户 UserID ,未登录返回 0
  /// </summary>
  public static int LoginUserID
  {
   get
   {
    if(HttpContext.Current.User.Identity.Name!="")
    {
     return  int.Parse(HttpContext.Current.User.Identity.Name);
    }
    else
    {
//     System.Web.Security.FormsAuthentication.SignOut();
//     HttpContext.Current.Response.Redirect(ApplicationPath + "/Login.aspx",true);
     return 0;  
    }
   }
  }
  #endregion

  #region 取得用户端IP
  /// <summary>
  /// 取得用户端IP
  /// </summary>
  static public string GetClientIP
  {
   get
   {
    string userIP;
    HttpRequest Request = HttpContext.Current.Request;
    // 如果使用代理,获取真实IP
    if (Request.ServerVariables["HTTP_X_FORWARDED_FOR"] != "")
     userIP = Request.ServerVariables["REMOTE_ADDR"];
    else
     userIP = Request.ServerVariables["HTTP_X_FORWARDED_FOR"];
    if (userIP == null || userIP == "")
     userIP = Request.UserHostAddress;
    return userIP;
   }
  }
  #endregion

  #region 字符串进行MD5加密
  /// <summary>
  /// 字符串进行MD5加密
  /// </summary>
  /// <param name="NotEncryptString"></param>
  /// <returns>进行MD5加密后的字符串</returns>
  public static string GetMD5String(string NotEncryptString)
  {
   string MD5Str;
   try
   {
    MD5Str=System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(NotEncryptString,"MD5");
   }
   catch
   {
    MD5Str="";
    //记录错误信息

   }
   return MD5Str;
  }
  #endregion

  #region 取得Meta Keywords信息,主要用于网站搜索信息可以随时更新
  /// <summary>
  /// 取得Meta Keywords信息,主要用于网站搜索信息可以随时更新
  /// </summary>
  static public string METAkeywords
  {
   get
   {
    return System.Configuration.ConfigurationSettings.AppSettings["METAkeywords"];
   }
  }
  #endregion

  #region 获取数据文件路径
  //  /// <summary>
  //  /// 获取数据文件路径
  //  /// </summary>
  //  static private string XmlDataPath
  //  {
  //   get
  //   {
  //    return ApplicationPath + ConfigurationSettings.AppSettings["XmlDataPath"];
  //   }
  //  }
  #endregion

  #region 根据类别名称查询所有相关的数据信息
  /// <summary>
  /// 根据类别名称查询所有相关的数据信息
  /// </summary>
  /// <param name="Type">要查询的数据类别</param>
  /// <returns>二维字符串数据组,string[,]={{id,Name}}</returns>
  public static string[,] GetAllTypeInfo(string Type)
  {
   //判断Cache是否为空
   if(System.Web.HttpRuntime.Cache["GlobalTypeInfo"] == null)
   {
    string FilePath = HttpContext.Current.Server.MapPath("~/xml/Globals_Data.xml");
    System.Data.DataSet ds = new System.Data.DataSet();
    ds.ReadXml(FilePath);
    System.Web.HttpRuntime.Cache.Insert("GlobalTypeInfo",ds,new CacheDependency(FilePath));
   }
   DataSet myDataSet = (DataSet)System.Web.HttpRuntime.Cache["GlobalTypeInfo"];
   string[,] TypeInfo;
   if(myDataSet.Tables[Type] != null && myDataSet.Tables[Type].Rows.Count > 0)
   {
    TypeInfo = new string[myDataSet.Tables[Type].Rows.Count,2];
    for(int i = 0 ; i < myDataSet.Tables[Type].Rows.Count ; i ++)
    {
     TypeInfo[i,0] = myDataSet.Tables[Type].Rows[i]["ID"].ToString();
     TypeInfo[i,1] = myDataSet.Tables[Type].Rows[i]["Name"].ToString();;
    }
   }
   else
   {
    TypeInfo = new string[,] {};
   }
   return TypeInfo;
  }
  /// <summary>
  /// 根据类别名称查询所有相关的数据信息
  /// </summary>
  /// <param name="Type">要查询的数据类别</param>
  /// <returns>数据表</returns>
  public static DataTable GetAllTypeInfoTable(string Type)
  {
   //判断Cache是否为空
   if(System.Web.HttpRuntime.Cache["GlobalTypeInfo"] == null)
   {
    string FilePath = HttpContext.Current.Server.MapPath("~/xml/Globals_Data.xml");
    System.Data.DataSet ds = new System.Data.DataSet();
    ds.ReadXml(FilePath);
    System.Web.HttpRuntime.Cache.Insert("GlobalTypeInfo",ds,new CacheDependency(FilePath));
   }
   DataSet myDataSet = (DataSet)System.Web.HttpRuntime.Cache["GlobalTypeInfo"];
   return myDataSet.Tables[Type];   
  }
  #region Delete by Peter 7/6/2005
  //  public static string[,] GetAllTypeInfo(string Type)
  //  {
  //   string XPath = "/Root/" + Type + "/Record";
  //   XmlDocument domWebConfig = new XmlDocument();
  //   string[,] TypeArr = new string[,] {};
  //   try
  //   {
  //    domWebConfig.Load(XmlDataPath);
  //    XmlNode Record = domWebConfig.SelectSingleNode(XPath);
  //    
  //    if(Record == null)
  //    {
  //     return TypeArr;
  //    }
  //    else
  //    {
  //     TypeArr = new string[Record.ChildNodes.Count,2];
  //     int i = 0;
  //     foreach (XmlElement XmlElem in Record)
  //     {
  //      TypeArr[i,0]=XmlElem.Attributes.GetNamedItem("id").Value;
  //      TypeArr[i,1]=XmlElem.Attributes.GetNamedItem("Name").Value;
  //      i++;
  //     }
  //    }
  //    return TypeArr;
  //   }
  //   catch
  //   {
  //    TypeArr = new string[,] {};
  //    return TypeArr;
  //   }
  //  }
  #endregion
  #endregion

  #region 根据类别名称及ID查询相应名称
  /// <summary>
  /// GetNameByTypeAndID根据类别名称及ID查询相应名称
  /// </summary>
  /// <param name="Type">查询数据所属类别</param>
  /// <param name="id">要查询的ID</param>
  /// <returns>返回类别ID所对应的Name值,查询不到或出现错误返回""</returns>
  public static string GetNameByTypeAndID(string Type,string id)
  {
   //判断Cache是否为空
   if(System.Web.HttpRuntime.Cache["GlobalTypeInfo"] == null)
   {
    string FilePath = HttpContext.Current.Server.MapPath("~/xml/Globals_Data.xml");
    System.Data.DataSet ds = new System.Data.DataSet();
    ds.ReadXml(FilePath);
    System.Web.HttpRuntime.Cache.Insert("GlobalTypeInfo",ds,new CacheDependency(FilePath));
   }
   DataSet myDataSet = (DataSet)System.Web.HttpRuntime.Cache["GlobalTypeInfo"];
   string TypeName = "";
   if(myDataSet.Tables[Type] != null && myDataSet.Tables[Type].Rows.Count > 0)
   {
    foreach(DataRow myRow in myDataSet.Tables[Type].Select("ID='" + id + "'"))
    {
     TypeName = myRow["Name"].ToString();
    }
   }
   else
   {
    TypeName="";
   }
   return TypeName;
  }

  #region Delete by Peter 7/6/2005
  //  public static string GetNameByTypeAndID(string Type,string id)
  //  {
  //   string XPath="/Root/ProjectType/Record[@id='?']";
  //   XmlDocument domWebConfig=new XmlDocument();
  //   try
  //   {
  //    domWebConfig.Load(XmlDataPath);
  //    XPath=XPath.Replace("?",id);
  //    XmlNode Record=domWebConfig.SelectSingleNode(XPath);
  //    if(Record == null)
  //    {
  //     return "";
  //    }
  //    return Record.Attributes.GetNamedItem("Name").Value;
  //   }
  //   catch
  //   {
  //    //需加入错误处理
  //
  //    return "";
  //   }
  //  }
  #endregion
  #endregion

  #region 指示某个 Unicode 字符串是否属于数字类别
  /// <summary>
  /// 指示某个 Unicode 字符串是否属于数字类别
  /// </summary>
  /// <param name="str">字符串</param>
  /// <returns>Bool</returns>
  public static bool IsNumeric(string str)
  {
   if(str == null)
   {
    return false;
   }
   return System.Text.RegularExpressions.Regex.Match(str,@"^(-?/d+)(/./d+)?$").Success;
  }
  #endregion

  #region 根据查询参数类别查询所有与查询相关信息
  /// <summary>
  /// 根据查询参数类别查询所有与查询相关信息
  /// </summary>
  /// <param name="TypeName">类别名称,详细名称见XML/Search.XML</param>
  /// <returns>类型信息DataTable</returns>
  public static DataTable GetAllSearchType(string TypeName)
  {
   //判断Cache是否为空
   if(System.Web.HttpRuntime.Cache["SearchTypeInfo"] == null)
   {
    string FilePath = HttpContext.Current.Server.MapPath("~/xml/Search.xml");
    System.Data.DataSet ds = new System.Data.DataSet();
    ds.ReadXml(FilePath);
    System.Web.HttpRuntime.Cache.Insert("SearchTypeInfo",ds,new CacheDependency(FilePath));
   }
   DataSet myDataSet = (DataSet)System.Web.HttpRuntime.Cache["SearchTypeInfo"];
   DataTable myTable = myDataSet.Tables[TypeName];
   return myTable;
  }
  #endregion
  
  #region 根据查询参数类别及ID查询信息范围
  /// <summary>
  /// 根据查询参数类别及ID查询信息范围
  /// </summary>
  /// <param name="TypeName">类别名称,详细名称见XML/Search.XML</param>
  /// <param name="ID">要查询的信息ID</param>
  /// <param name="BeginValue">范围开始值</param>
  /// <param name="EndValue">范围结束值</param>
  public static void GetSearchAreaByTypeNameAndID(string TypeName,string ID,ref string BeginValue,ref string EndValue)
  {
   //判断Cache是否为空
   if(System.Web.HttpRuntime.Cache["SearchTypeInfo"] == null)
   {
    string FilePath = HttpContext.Current.Server.MapPath("~/xml/Search.xml");
    System.Data.DataSet ds = new System.Data.DataSet();
    ds.ReadXml(FilePath);
    System.Web.HttpRuntime.Cache.Insert("SearchTypeInfo",ds,new CacheDependency(FilePath));
   }
   DataSet myDataSet = (DataSet)System.Web.HttpRuntime.Cache["SearchTypeInfo"];
   DataTable myTable = myDataSet.Tables[TypeName];
   if(myTable != null && myTable.Rows.Count > 0)
   {
    foreach(DataRow myRow in myTable.Select("ID='" + ID + "'"))
    {
     BeginValue = myRow["Begin"].ToString();
     EndValue = myRow["End"].ToString();
    }
   }
   else
   {
    BeginValue = "";
    EndValue = "";
   }
  }
  #endregion

  #region 根据类别名称及ID查询相应名称
  /// <summary>
  /// GetSearchNameByTypeAndID根据查询类别名称及ID查询相应名称
  /// </summary>
  /// <param name="Type">查询数据所属类别</param>
  /// <param name="id">要查询的ID</param>
  /// <returns>返回类别ID所对应的Name值,查询不到或出现错误返回""</returns>
  public static string GetSearchNameByTypeAndID(string Type,string id)
  {
   //判断Cache是否为空
   if(System.Web.HttpRuntime.Cache["SearchTypeInfo"] == null)
   {
    string FilePath = HttpContext.Current.Server.MapPath("~/xml/Search.xml");
    System.Data.DataSet ds = new System.Data.DataSet();
    ds.ReadXml(FilePath);
    System.Web.HttpRuntime.Cache.Insert("SearchTypeInfo",ds,new CacheDependency(FilePath));
   }
   DataSet myDataSet = (DataSet)System.Web.HttpRuntime.Cache["SearchTypeInfo"];
   string TypeName = "";
   if(myDataSet.Tables[Type] != null && myDataSet.Tables[Type].Rows.Count > 0)
   {
    foreach(DataRow myRow in myDataSet.Tables[Type].Select("ID='" + id + "'"))
    {
     TypeName = myRow["Name"].ToString();
    }
    if(TypeName.Trim() == "") TypeName = "---";
   }
   else
   {
    TypeName="---";
   }
   return TypeName.Trim();
  }
  #endregion

  #region 添加修改信息时格式化字符串信息
  /// <summary>
  /// 存入数据库前替换函数,存入数据库时使用
  /// </summary>
  public static string FormatStr(string getstr)
  {
   string chr1;
   chr1 = getstr;
   if(chr1 != "")
   {
    chr1 = chr1.Replace("<","&lt;");
    chr1 = chr1.Replace(">","&gt;");
    chr1 = chr1.Replace("'","''");
    chr1 = chr1.Replace("/n","<br/>");
    //chr1 = chr1.Replace("/t","&nbsp;&nbsp;");
    chr1 = chr1.Replace(" ","&nbsp;");
   }
   return chr1;
  }

  /// <summary>
  /// 修改时反向替换函数,修改时使用
  /// </summary>
  public static string RevFormatStr(string getstr)
  {
   string chr1;
   chr1 = getstr;
   if(chr1 != "")
   {
    chr1 = chr1.Replace("&lt;","<");
    chr1 = chr1.Replace("&gt;",">");
    chr1 = chr1.Replace("''","'");
    chr1 = chr1.Replace("<br/>","/n");
    //chr1 = chr1.Replace("&nbsp;&nbsp;","/t");
    chr1 = chr1.Replace("&nbsp;"," ");
   }
   return chr1;
  }

  /// <summary>
  /// 修改时反向替换函数,修改时使用
  /// </summary>
  public static string RevFormatStr_ForXml(string getstr)
  {
   string chr1;
   chr1 = getstr;
   if(chr1 != "")
   {
    chr1 = chr1.Replace("<br/>","&lt;br/&gt;");
    chr1 = chr1.Replace("&nbsp;"," ");
   }
   return chr1;
  }
  #endregion

  #region JS脚本显示错误信息 or 先弹出提示框,再转到相应页面
  /// <summary>
  /// JS脚本显示错误信息
  /// </summary>
  /// <param name="ErrMsg"></param>
  /// <returns></returns>
  public static string ShowErr(string ErrMsg)
  {
   return ("<script language=javascript>alert('"+ ErrMsg +"');history.go(-1);</script>");
  }

  /// <summary>
  /// 先弹出提示框,再转到相应页面
  /// </summary>
  /// <param name="AltMsg">弹出的提示框信息</param>
  /// <param name="Redirect">要转到的页面</param>
  /// <returns></returns>
  public static string ShowAltMsgAndRedirect(string AltMsg,string Redirect)
  {
   return ("<script language=javascript>alert('"+ AltMsg +"');history.go(-1);location.href='"+ Redirect +"';</script>");
  }
  #endregion

  #region 处理上传文件信息

  #region 适合上传图片的情况
  /// <summary>
  /// 适合上传图片的情况
  /// </summary>
  /// <param name="uppath">文件相对根目录的路径信息</param>
  /// <param name="file">文件对象</param>
  /// <returns></returns>
  public static string SavaUpload(string uppath,HttpPostedFile file)
  {
   //定义文件格式字符串
   string filenamer = "";
   //处理路径结尾的"/"
   if (uppath.Substring(uppath.Length-1,1)!= "/")
   {
    uppath = uppath + "/";
   }
   //定义并取得服务器磁盘路径
   string uppath1 = System.Web.HttpContext.Current.Server.MapPath(uppath);
   //生成GUID字符串
   string upname = System.Guid.NewGuid().ToString();
   int filelength = file.ContentLength;
   string[] filesplit = file.FileName.ToString().Split(new char[]{'//'});
   string filename = filesplit[filesplit.Length - 1];
   if (filelength > 0)
   {
    if (filelength < int.Parse(ConfigurationSettings.AppSettings["uploadsize"]) * 1024)
    {
     //取得文件格式
     filenamer = filename.Substring(filename.IndexOf(".",1)+1,filename.Length - filename.IndexOf(".",1)-1).ToLower();
     
     if (ConfigurationSettings.AppSettings["uploadtype_pic"].ToString().IndexOf(filenamer,0) >= 0)
     {
      //判断上传文件名称是否已经存在
      if (File.Exists(uppath1 + upname + "." + filenamer) == false)
      {
       //不存在同名文件,把文件存入硬盘
       file.SaveAs(uppath1 + upname +"." + filenamer);
       return uppath + upname + "." + filenamer;
      }
      else
      {
       return "-1";
       //ShowErr("您上传的文件文件名此文件夹已经存在,为了避免前一个文件被覆盖,请返回重新选择!");
      }
     }
     else
     {
      return "-1";
      //ShowErr("您上传的文件类型不符合网站的设置,网站上传文件类型为:" + ConfigurationSettings.AppSettings["uploadtype_pic"].ToString() + ",请返回!");
     }
    }
    else
    {
     return "-1";
     //ShowErr("您上传的文件超过了网站的设置,网站最大上传文件为:" + ConfigurationSettings.AppSettings["uploadsize"].ToString() + "KB,请返回!");
    }
   }
   else
   {
    return "-1";
    //ShowErr("您没有上传文件吧?返回重试!");
   }
  }
  #endregion

  #region 适合上大部分文件的情况
  /// <summary>
  /// 适合上大部分文件的情况
  /// </summary>
  /// <param name="uppath">文件相对根目录的路径信息</param>
  /// <param name="file">文件对象</param>
  /// <returns></returns>
  public static string SavaUpload_ForAll(string uppath,HttpPostedFile file)
  {
   //定义文件格式字符串
   string filenamer = "";
   //处理路径结尾的"/"
   if (uppath.Substring(uppath.Length-1,1)!= "/")
   {
    uppath = uppath + "/";
   }
   //定义并取得服务器磁盘路径
   string uppath1 = System.Web.HttpContext.Current.Server.MapPath(uppath);
   //生成GUID字符串
   string upname = System.Guid.NewGuid().ToString();
   int filelength = file.ContentLength;
   string[] filesplit = file.FileName.ToString().Split(new char[]{'//'});
   string filename = filesplit[filesplit.Length - 1];
   if (filelength > 0)
   {
    if (filelength < int.Parse(ConfigurationSettings.AppSettings["uploadsize"]) * 1024)
    {
     //取得文件格式
     filenamer = filename.Substring(filename.IndexOf(".",1)+1,filename.Length - filename.IndexOf(".",1)-1).ToLower();
     
     if (ConfigurationSettings.AppSettings["uploadtype_all"].ToString().IndexOf(filenamer,0) >= 0)
     {
      //判断上传文件名称是否已经存在
      if (File.Exists(uppath1 + upname + "." + filenamer) == false)
      {
       //不存在同名文件,把文件存入硬盘
       file.SaveAs(uppath1 + upname +"." + filenamer);
       return uppath + upname + "." + filenamer;
      }
      else
      {
       return "-1";
       //ShowErr("您上传的文件文件名此文件夹已经存在,为了避免前一个文件被覆盖,请返回重新选择!");
      }
     }
     else
     {
      return "-1";
      //ShowErr("您上传的文件类型不符合网站的设置,网站上传文件类型为:" + ConfigurationSettings.AppSettings["uploadtype_all"].ToString() + ",请返回!");
     }
    }
    else
    {
     return "-1";
     //ShowErr("您上传的文件超过了网站的设置,网站最大上传文件为:" + ConfigurationSettings.AppSettings["uploadsize"].ToString() + "KB,请返回!");
    }
   }
   else
   {
    return "-1";
    //ShowErr("您没有上传文件吧?返回重试!");
   }
  }
  #endregion

  #endregion

  #region 截取固定长度字符串
  /// <summary>
  /// 截取固定长度字符串函数(如果超过加...)
  /// </summary>
  /// <param name="theString"></param>
  /// <param name="theNum"></param>
  /// <returns></returns>
  public static string ShortString(string inputString,int len)
  {
   ASCIIEncoding ascii =  new ASCIIEncoding();
   int tempLen=0;
   string tempString="";
   byte[] s = ascii.GetBytes(inputString);
   for(int i=0;i<s.Length;i++)
   {
    if((int)s[i]==63)
    {
     tempLen+=2;
    }
    else
    {
     tempLen+=1;
    }
               
    try
    {
     tempString+=inputString.Substring(i,1);
    }
    catch
    {
     break;
    }

    if(tempLen>len)
     break;
   }
   //如果截过则加上半个省略号
   byte[] mybyte=System.Text.Encoding.Default.GetBytes(inputString);
   if(mybyte.Length>len)
    tempString+="..";

   return tempString;
  }

  /// <summary>
  /// 截取固定长度字符串函数(如果超过不加...)
  /// </summary>
  /// <param name="theString"></param>
  /// <param name="theNum"></param>
  /// <returns></returns>
  public static string ShortString2(string inputString,int len)
  {
   ASCIIEncoding ascii =  new ASCIIEncoding();
   int tempLen=0;
   string tempString="";
   byte[] s = ascii.GetBytes(inputString);
   for(int i=0;i<s.Length;i++)
   {
    if((int)s[i]==63)
    {
     tempLen+=2;
    }
    else
    {
     tempLen+=1;
    }
               
    try
    {
     tempString+=inputString.Substring(i,1);
    }
    catch
    {
     break;
    }

    if(tempLen>len)
     break;
   }
   
   byte[] mybyte=System.Text.Encoding.Default.GetBytes(inputString);
   if(mybyte.Length>len)
    tempString+="";

   return tempString;
  }
  #endregion

  #region 获取每页记录数
  static public int PageRowNum
  {
   get
   {
    int RowNum = 30;
    if (System.Configuration.ConfigurationSettings.AppSettings["PageRowNum"] != null && IsNumeric(System.Configuration.ConfigurationSettings.AppSettings["PageRowNum"]) && int.Parse(System.Configuration.ConfigurationSettings.AppSettings["PageRowNum"]) > 0)
    {
     RowNum = int.Parse(System.Configuration.ConfigurationSettings.AppSettings["PageRowNum"]);
    }
    else
    {
     RowNum = 30;
    }
    return RowNum;
   }
  }
  #endregion
  
  #region  获取留言每页记录数
  static public int MsgRowNum
  {
   get
   {
    int RowNum = 10;
    if (System.Configuration.ConfigurationSettings.AppSettings["MsgRowNum"] != null && IsNumeric(System.Configuration.ConfigurationSettings.AppSettings["MsgRowNum"]) && int.Parse(System.Configuration.ConfigurationSettings.AppSettings["MsgRowNum"]) > 0)
    {
     RowNum = int.Parse(System.Configuration.ConfigurationSettings.AppSettings["MsgRowNum"]);
    }
    else
    {
     RowNum = 10;
    }
    return RowNum;
   }
  }
  #endregion

  #region 获取用户类型

  public static int UserType
  {
   get
   {
    if(HttpContext.Current.Session["UserType"] != null && Globals.IsNumeric(HttpContext.Current.Session["UserType"].ToString()) && int.Parse(HttpContext.Current.Session["UserType"].ToString()) > 0)
    {
     return int.Parse(HttpContext.Current.Session["UserType"].ToString());
    }
    else
    {
     System.Web.Security.FormsAuthentication.SignOut();
     HttpContext.Current.Response.Redirect(ApplicationPath + "/Login.aspx",true);
     return 0;
    }    
   }
  }
  #endregion

  #region 获取预设留言
  /// <summary>
  /// 预设留言信息
  /// </summary>
  public static DataTable MsgStandby
  {
   get
   {
    //判断Cache是否为空
    if(System.Web.HttpRuntime.Cache["MsgStandby"] == null)
    {
     string FilePath = HttpContext.Current.Server.MapPath("~/xml/MsgStandby.xml");
     System.Data.DataSet ds = new System.Data.DataSet();
     ds.ReadXml(FilePath);
     System.Web.HttpRuntime.Cache.Insert("MsgStandby",ds,new CacheDependency(FilePath));
    }
    DataSet myDataSet = (DataSet)System.Web.HttpRuntime.Cache["MsgStandby"];
    DataTable myTable = myDataSet.Tables["Msg"];
    return myTable;
   }
  }
  #endregion

  #region 获取文件所在文件夹路径
  static public string FileDirPath
  {
   get
   {
    string FileUrl = System.Web.HttpContext.Current.Request.RawUrl;
    FileUrl = FileUrl.Substring(0,FileUrl.LastIndexOf("/"));
    FileUrl = BaseUrl +  FileUrl;
    return FileUrl;
   }
  }
  static private string BaseUrl
  {
   get
   {
    if(HttpContext.Current.Request.Url.IsDefaultPort)
    {
     return "http://" + HttpContext.Current.Request.Url.Host;
    }
    else
    {
     return "http://" +  HttpContext.Current.Request.Url.Host + @":" + HttpContext.Current.Request.Url.Port;
    }
   }
  }
  #endregion

  #region 获取登录用户名
  static public string loginUserName
  {
   get
   {
    if(System.Web.HttpContext.Current.Session["UserName"] != null)
    {
     return System.Web.HttpContext.Current.Session["UserName"].ToString();
    }
    else
    {
     return "搜饭会员";
    }
   }
  }
  #endregion

  #region 后台管理

  #region 后台管理用户ID
  static public string MagagerID
  {
   get
   {
    return "";
   }
  }

  #endregion
#endregion

  #region 获取HTML源代码
  /// <summary>
  /// 获取网页的源代码
  /// </summary>
  /// <param name="siteStr"></param>
  /// <returns></returns>
  public static string getHTML(string siteStr,string Encod)
  {
   string returnStr = "";
   bool isSuccess = true;
   WebRequest myWebRequest=WebRequest.Create(siteStr);
   myWebRequest.Timeout = 15000000;//超时时间
   try
   {
    WebResponse myWebResponse=myWebRequest.GetResponse();
    Stream resStream = myWebResponse.GetResponseStream();
    StreamReader sr = new StreamReader(resStream, Encoding.GetEncoding(Encod));
    returnStr = sr.ReadToEnd();
    resStream.Close();
    sr.Close();
   }
   catch(System.Net.WebException E)
   {
    string tempStr = E.Message;
    isSuccess = false;
   }
   if(isSuccess)
   {
    return returnStr;
   }
   else
   {
    return null;    
   }
  }
  #endregion
   
  #region 用户类型枚举
  /// <summary>
  /// 用户类型枚举
  /// </summary>
  public enum UserTypes
  {
   /// <summary>
   /// 餐厅转让
   /// </summary>
   Restaurant = 1,
   /// <summary>
   /// 连锁加盟
   /// </summary>
   Franchising = 2,
   /// <summary>
   /// 旺铺招租
   /// </summary>
   Properties = 3,
   /// <summary>
   /// 代理经销
   /// </summary>
   Agency = 5,
   /// <summary>
   /// 制造加工
   /// </summary>
   Manufacturing = 6,
   /// <summary>
   /// 寻求合作
   /// </summary>
   FindCooperate = 7,
   /// <summary>
   /// 投资信息
   /// </summary>
   Investments = 8,
   /// <summary>
   /// 供应商
   /// </summary>
   Suppliers = 9,
   /// <summary>
   /// 采购商
   /// </summary>
   Buyers = 10,
   /// <summary>
   /// 个人会员
   /// </summary>
   Professional = 11,
   /// <summary>
   /// 连锁加盟VIP会员
   /// </summary>
   Franchising_biz = 21
  }
  #endregion
 }
}

原创粉丝点击