C#公共方法.docx

上传人:b****3 文档编号:12873349 上传时间:2023-04-22 格式:DOCX 页数:76 大小:27.92KB
下载 相关 举报
C#公共方法.docx_第1页
第1页 / 共76页
C#公共方法.docx_第2页
第2页 / 共76页
C#公共方法.docx_第3页
第3页 / 共76页
C#公共方法.docx_第4页
第4页 / 共76页
C#公共方法.docx_第5页
第5页 / 共76页
点击查看更多>>
下载资源
资源描述

C#公共方法.docx

《C#公共方法.docx》由会员分享,可在线阅读,更多相关《C#公共方法.docx(76页珍藏版)》请在冰豆网上搜索。

C#公共方法.docx

C#公共方法

usingSystem;

usingSystem.Configuration;

usingSystem.Web;

usingSystem.Web.UI;

usingSystem.Text;

usingSystem.Text.RegularExpressions;

usingSystem.Drawing;

usingSystem.Drawing.Imaging;

usingSystem.IO;

usingSystem.Security.Cryptography;

/*

一般放在BLL层下的Common.cs文件中:

usingSystem;//string

usingSystem.Configuration;//调用web.config要引用的命名空间

usingSystem.Web;//HttpContext

usingSystem.Web.UI;//ctl.RenderControl(newHtmlTextWriter(tempWriter));

usingSystem.Text;//StringBuilder

usingSystem.Text.RegularExpressions;//Regex

usingSystem.Drawing;//ImageoriginalImage=Image.FromFile(originalImagePath);

usingSystem.IO;//TextWritertempWriter=newStringWriter();

usingSystem.Security.Cryptography;//DESCryptoServiceProviderdes=newDESCryptoServiceProvider();

*/

namespaceSystem

{

#region公用方法

///

///公用方法

///

publicclassCommon

{

publicCommon()

{

//

//TODO:

在此处添加构造函数逻辑

//

}

#region1、防止SQL注入方法

///

///防止SQL注入,过滤字符串

///

///

///

publicstaticstringReplaceSqlStr(stringarg)

{

string[]Lawlesses={"=","netuser","xp_cmdshell","add","execmaster.dbo.xp_cmdshell","netlocalgroupadministrators","select","Asc","count","char","mid","'","\"","insert","deletefrom","droptable","update","truncate","from","%"};

StringBuilderrltsb=newStringBuilder();

StringBuildersb=newStringBuilder();

sb.Append(arg);

rltsb.Append(arg);

for(inti=0;i

{

while(sb.ToString().IndexOf(Lawlesses[i],System.StringComparison.CurrentCultureIgnoreCase)>=0)

{

rltsb.Remove(0,rltsb.Length);

rltsb.Append(sb.ToString().Substring(0,sb.ToString().IndexOf(Lawlesses[i],System.StringComparison.CurrentCultureIgnoreCase))+"*"+sb.ToString().Substring(sb.ToString().IndexOf(Lawlesses[i],System.StringComparison.CurrentCultureIgnoreCase)+Lawlesses[i].Length));

sb.Remove(0,sb.Length);

sb.Append(rltsb.ToString());

}

}

returnrltsb.ToString();

}

#endregion

#region2、获取客户端真实IP

///

///取得客户端真实IP。

如果有代理则取第一个非内网地址

///

publicstaticstringIPAddress

{

get

{

stringresult=String.Empty;

result=HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"];

if(result!

=null&&result!

=String.Empty)

{

//可能有代理

if(result.IndexOf(".")==-1)//没有“.”肯定是非IPv4格式

result=null;

else

{

if(result.IndexOf(",")!

=-1)

{

//有“,”,估计多个代理。

取第一个不是内网的IP。

result=result.Replace("","").Replace("'","");

string[]temparyip=result.Split(",;".ToCharArray());

for(inti=0;i

{

if(IsIPAddress(temparyip[i])

&&temparyip[i].Substring(0,3)!

="10."

&&temparyip[i].Substring(0,7)!

="192.168"

&&temparyip[i].Substring(0,7)!

="172.16.")

{

returntemparyip[i];//找到不是内网的地址

}

}

}

elseif(IsIPAddress(result))//代理即是IP格式

returnresult;

else

result=null;//代理中的内容非IP,取IP

}

}

stringIpAddress=(HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!

=null&&HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]!

=String.Empty)?

HttpContext.Current.Request.ServerVariables["HTTP_X_FORWARDED_FOR"]:

HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

if(null==result||result==String.Empty)

result=HttpContext.Current.Request.ServerVariables["REMOTE_ADDR"];

if(result==null||result==String.Empty)

result=HttpContext.Current.Request.UserHostAddress;

returnresult;

}

}

///

///判断是否是IP地址格式0.0.0.0

///

///待判断的IP地址

///trueorfalse

privatestaticboolIsIPAddress(stringstr1)

{

if(str1==null||str1==string.Empty||str1.Length<7||str1.Length>15)returnfalse;

stringregformat=@"^d{1,3}[.]d{1,3}[.]d{1,3}[.]d{1,3}___FCKpd___0quot;;

Regexregex=newRegex(regformat,RegexOptions.IgnoreCase);

returnregex.IsMatch(str1);

}

#endregion

#region3、生成缩略图

///

///生成缩略图

///

///源图路径(物理路径)

///缩略图路径(物理路径)

///缩略图宽度

///缩略图高度

///生成缩略图的方式--"W":

//指定宽,高按比例、"H":

//指定高,宽按比例、"HW":

//指定高宽,缩放于指定的范围内

publicstaticvoidMakeThumbnail(stringoriginalImagePath,stringthumbnailPath,intwidth,intheight,stringmode)

{

System.Drawing.ImageoriginalImage=System.Drawing.Image.FromFile(originalImagePath);

inttowidth=width;

inttoheight=height;

intx=0;

inty=0;

intow=originalImage.Width;

intoh=originalImage.Height;

switch(mode)

{

case"HW":

//指定高宽缩放(可能变形:

2006-5-27樊海斌修改:

使显示图片不变形。

if(originalImage.Height*1.0/originalImage.Width>1.0)

{

towidth=originalImage.Width*width/originalImage.Height;

}

else

{

toheight=originalImage.Height*height/originalImage.Width;

}

break;

case"W":

//指定宽,高按比例

toheight=originalImage.Height*width/originalImage.Width;

break;

case"H":

//指定高,宽按比例

towidth=originalImage.Width*height/originalImage.Height;

break;

case"Cut":

//指定高宽裁减(不变形)

if((double)originalImage.Width/(double)originalImage.Height>(double)towidth/(double)toheight)

{

oh=originalImage.Height;

ow=originalImage.Height*towidth/toheight;

y=0;

x=(originalImage.Width-ow)/2;

}

else

{

ow=originalImage.Width;

oh=originalImage.Width*height/towidth;

x=0;

y=(originalImage.Height-oh)/2;

}

break;

default:

break;

}

//新建一个bmp图片

System.Drawing.Imagebitmap=newSystem.Drawing.Bitmap(towidth,toheight);

//新建一个画板

Graphicsg=System.Drawing.Graphics.FromImage(bitmap);

//设置高质量插值法

g.InterpolationMode=System.Drawing.Drawing2D.InterpolationMode.High;

//设置高质量,低速度呈现平滑程度

g.SmoothingMode=System.Drawing.Drawing2D.SmoothingMode.HighQuality;

//清空画布并以透明背景色填充

g.Clear(Color.Transparent);

//=========用于旋转图片======樊海斌=======

//MatrixmyMatrix=newMatrix();

//PointFpointF00=newPointF(0,0);

//myMatrix.Rotate(30.6f);

//myMatrix.RotateAt(30.6f,pointF00);//按指定点旋转

//g.Transform=myMatrix;

//=========================================

//在指定位置并且按指定大小绘制原图片的指定部分

g.DrawImage(originalImage,newRectangle(0,0,towidth,toheight),newRectangle(x,y,ow,oh),GraphicsUnit.Pixel);

try

{

//以jpg格式保存缩略图

bitmap.Save(thumbnailPath,originalImage.RawFormat);

}

catch(System.Exceptione)

{

throwe;

}

finally

{

originalImage.Dispose();

bitmap.Dispose();

g.Dispose();

}

}

#endregion

#region4、返回站点路径,如果是虚拟目录,则包含虚拟目录

///

///返回结果:

如果是站点:

"/";如果是虚拟目录:

"/虚拟目录名/"

///

publicstaticstringAppName

{

get

{

stringappPath=HttpContext.Current.Request.ApplicationPath;

if(appPath.Trim()=="/")

return"/";

else

returnappPath+"/";

}

}

#endregion

#region5、返回以字节方式截取字符串

///

///返回以字节方式载取的字符串

///

///

///

///

publicstaticstringGetSubString(stringstr,intlength)

{

stringtemp=str;

intj=0;

intk=0;

for(inti=0;i

{

if(Regex.IsMatch(temp.Substring(i,1),@"[\u4e00-\u9fa5]+"))

j+=2;

else

j++;

if(j>=length)

{

returntemp.Substring(0,k-1);

}

k++;

}

returntemp;

}

#endregion

#region6、简写MD5加密

///

///返回MD5加密后的密文

///

///原文字符串

///密文长度:

16/32,非16则返回32位的密文

///

publicstaticstringMd5(stringstr,intcode)

{

if(code==16)//16位MD5加密(取32位加密的9~25字符)

{

returnSystem.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower().Substring(8,16);

}

else//32位加密

{

returnSystem.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(str,"MD5").ToLower();

}

}

#endregion

#region7、将一个控的内容Render后生成一个字符串

///

///将一个控的内容Render后生成一个字符串

///

///用户控件ID

///

publicstaticstringGetControlRender(System.Web.UI.Controlctl)

{

TextWritertempWriter=newStringWriter();

ctl.RenderControl(newHtmlTextWriter(tempWriter));

returntempWriter.ToString();

}

#endregion

#region8、初始化文件夹

///

///初始化文件夹信息:

检查文件夹是否存在,如果文件夹不存在,则建立。

///

///文件夹相对路径

///返回文件夹

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 经济学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1