1. C#ÓïÑÔ·½Ãæ
1.1 À¬»ø»ØÊÕ
¡¡À¬»ø»ØÊÕ½â·ÅÁËÊÖ¹¤¹ÜÀí¶ÔÏóµÄ¹¤×÷£¬Ìá¸ßÁ˳ÌÐòµÄ½¡×³ÐÔ£¬µ«¸±×÷ÓþÍÊdzÌÐò´úÂë¿ÉÄܶÔÓÚ¶ÔÏó´´½¨±äµÃËæÒâ¡£
¡¡1.1.1 ±ÜÃâ²»±ØÒªµÄ¶ÔÏó´´½¨
¡¡ÓÉÓÚÀ¬»ø»ØÊյĴú¼Û½Ï¸ß£¬ËùÒÔC#³ÌÐò¿ª·¢Òª×ñѵÄÒ»¸ö»ù±¾ÔÔò¾ÍÊDZÜÃâ²»±ØÒªµÄ¶ÔÏó´´½¨¡£ÒÔÏÂÁоÙһЩ³£¼ûµÄÇéÐΡ£
¡¡1.1.1.1 ±ÜÃâÑ»·´´½¨¶ÔÏó ¡ï
¡¡Èç¹û¶ÔÏó²¢²»»áËæÃ¿´ÎÑ»·¶ø¸Ä±ä״̬£¬ÄÇôÔÚÑ»·Öз´¸´´´½¨¶ÔÏ󽫴øÀ´ÐÔÄÜËðºÄ¡£¸ßЧµÄ×ö·¨Êǽ«¶ÔÏóÌᵽѻ·ÍâÃæ´´½¨¡£
¡¡1.1.1.2 ÔÚÐèÒªÂß¼·ÖÖ§Öд´½¨¶ÔÏó
¡¡Èç¹û¶ÔÏóÖ»ÔÚijЩÂß¼·ÖÖ§Öвű»Óõ½£¬ÄÇôӦֻÔÚ¸ÃÂß¼·ÖÖ§Öд´½¨¶ÔÏó¡£
¡¡1.1.1.3 ʹÓó£Á¿±ÜÃâ´´½¨¶ÔÏó
¡¡³ÌÐòÖв»Ó¦³öÏÖÈç new Decimal(0) Ö®ÀàµÄ´úÂ룬Õâ»áµ¼ÖÂС¶ÔÏ󯵷±´´½¨¼°»ØÊÕ£¬ÕýÈ·µÄ×ö·¨ÊÇʹÓÃDecimal.Zero³£Á¿¡£ÎÒÃÇÓÐÉè¼Æ×Ô¼ºµÄÀàʱ£¬Ò²¿ÉÒÔѧϰÕâ¸öÉè¼ÆÊÖ·¨£¬Ó¦Óõ½ÀàËÆµÄ³¡¾°ÖС£
¡¡1.1.1.4 ʹÓÃStringBuilder×ö×Ö·û´®Á¬½Ó
1.1.2 ²»ÒªÊ¹ÓÿÕÎö¹¹º¯Êý ¡ï
¡¡Èç¹ûÀà°üº¬Îö¹¹º¯Êý£¬ÓÉ´´½¨¶ÔÏóʱ»áÔÚ Finalize
¶ÓÁÐÖÐÌí¼Ó¶ÔÏóµÄÒýÓã¬ÒÔ±£Ö¤µ±¶ÔÏóÎÞ·¨¿É´ïʱ£¬ÈÔÈ»¿ÉÒÔµ÷Óõ½ Finalize
·½·¨¡£À¬»ø»ØÊÕÆ÷ÔÚÔËÐÐÆÚ¼ä£¬»áÆô¶¯Ò»¸öµÍÓÅÏȼ¶µÄÏ̴߳¦Àí¸Ã¶ÓÁС£Ïà±ÈÖ® ......
ÃüÃû¿Õ¼ä Access
Àࣺ
User
ÊôÐÔ£ºLoginID,UserName,Password,Remark
Role
ÊôÐÔ£ºRoleName Remark(±¸×¢ÐÅÏ¢)
AccessItem
ÊôÐÔ£ºName,Text,Remark
PermissionManager
ÊôÐÔ£º
·½·¨£ºvoid AddUser(string loginID,string password, string remark );void AddRole();Void AddItem(string name,string text,string remark);void ChangPassword(string loginID,string oldPassword);
void DeleteUser(string loginID); void DeleteRole(string RoleName);void DeleteItem(string name);
bool VerifyAccess(string loginID,string accessItemName);User[] GetUsersByRole(string roleName);
Rolep[] GetRolesByUser(string loginID);AccessItem[] GetItemsByRole(string roleName);
AccessItem[] GetItemsByUser(string loginId);void AddUserInRole(string loginID,string roleName);
void RemoveUserfromRole(string loginID,string roleName);
void AddItemsInRole(string itemName,string roleName);void RoveItemfromRole(string itemName,string roleName) ......
asp.netÖÐapplication,session,cookie,viewstate,cache¶ÔÏó
ÔÚasp.netÖÐÄÚÖöÔÏóÈçapplication,session,cookie,viewstate,cacheµÈµÄÉú´æÖÜÆÚºÍÓ¦Ó÷¶Î§´Ó´óµ½Ð¡Îªapplication,cache,session,cookie,viewstate.
applicationºÍcacheµÄÓ¦Ó÷¶Î§¶¼ÊÇÔÚÕû¸öÓ¦ÓóÌÐòÖÐ.¶øsession,cookie,viewstateÔòÊÇ»ùÓÚÿ¸öÓû§,applicationµÄÉú´æÖÜÆÚÊÇÕû¸öÓ¦ÓóÌÐòµÄÉúÃüÆÚ,cacheµÄÉú´æÖÜÆÚÊǸù¾ÝÐèÒªÉ趨,°´Êµ¼ÊÇé¿ö¶ø¶¨,¶øsessionµÄÉú´æÖÜÆÚÊÇÓû§»î¶¯Ê±¼ä¼ÓÉÏĬÈϳ¬Ê±Ê±¼ä.cookieµÄÉú´æÖÜÆÚÒ²ÊǸù¾ÝÐèÒª¶ø¶¨.viewstateÉú´æÖÜÆÚÊÇÒ»¸öwebÒ³ÃæµÄÉúÃüÆÚ,¼´Ï൱ÓÚÔÚÒ»¸öÒ³ÃæÄÚµÄÈ«¾Ö±äÁ¿.¶øsessionÏ൱ÓÚÕû¸öÓ¦ÓõÄÈ«¾Ö±äÁ¿(µ±È»Ö»Õë¶ÔÕâ¸öÓû§).
ÏÂÃæÊÇÏêϸµÄ¹ØÓÚÕâЩ¶ÔÏóÓ÷¨µÄÃèÊö.
1.Application£ºÓÃÓÚ±£´æËùÓÐÓû§¹²ÓõÄÊý¾ÝÐÅÏ¢¡£ ÔÚAsp.NetÖÐÀàËÆµÄÅäÖÃÊý¾Ý×îºÃ±£´æÔÚWeb.configÎļþÖС£Èç¹ûʹÓÃApplication¶ÔÏó£¬Ò»¸öÐèÒª¿¼ÂǵÄÎÊÌâÊÇÈκÎд²Ù×÷¶¼ÒªÔÚ Application_OnStartʼþ£¨global.asax£©ÖÐÍê³É¡£¾¡¹ÜʹÓÃApplication.LockºÍ Application.Unlock·½·¨À´±ÜÃâд²Ù×÷µÄͬ²½£¬µ«ÊÇËü´®Ðл¯ÁËApplication¶ÔÏóµÄÇëÇ󣬵±ÍøÕ¾·ÃÎÊÁ¿´óµÄʱºò»á² ......
GET /Img.ashx?img=svn_work.gif HTTP/1.1
Accept: */*
Referer: http://www.svnhost.cn/
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA)
Host: www.svnhost.cn
Connection: Keep-Alive
¸ÃÊý¾Ý°ü±íʾÇëÇóhttp://www.svnhost.cn/Img.ashx?img=svn_work.gifÎļþ¡£ÎÒÃÇ¿ÉÒÔ¿´µ½Referer±íʾÉÏÒ»Ò³ÇëÇóÒ³ÃæµØÖ·£¬Ò²¾ÍÊÇÎļþÀ´Ô´¡£Host±íʾµ±Ç°ÇëÇóµÄÖ÷»úµØÖ·¡£
ÏÂÃæÊÇÒ»¸öµÁÁ´µÄÊý¾Ý°ü
GET /Img.ashx?img=svn_work.gif HTTP/1.1
Accept: */*
Referer: http://745.cc/
Accept-Language: zh-cn
UA-CPU: x86
Accept-Encoding: gzip, deflate
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.2; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.04506.648; .NET CLR 3.5.21022; CIBA)
Host: www.svnhost.cn
Connection: Keep-Alive
ÎÒÃÇ¿ÉÒÔ¿´µ½£¬ÉÏÃæÁ½¸öÊý¾Ý£¬±íʾ¶ÔÓÚͬһ¸öÎļþ£ºhttp://www.corange.cn/Img.ashx?img=svn_work.gifµ ......
ǰÑÔ
дÕâÆªÎÄÕµÄÄ¿µÄ£¬ÊÇÏë×ܽáһЩ¶«Î÷£¬ÒÔ°ïÖúÅóÓÑÃǸüºÃµÄʹÓÃÕâ¸ö¿ò¼Ü¡£µ«ÊÇ£¬ÎÒÓÖ²»Ïñ°Ñ¹Ù·½ÁоٵÄÄÄЩÓÅÊÆ¡¢¹¦ÄÜ·Òë¹ýÀ´ÁоÙÔÚÕâÀï¡£ËùÒÔ£¬ÎÒÏë¸É´àÎҾʹ¿´Ó¸öÈ˹۵ãÉ϶ÔÕâ¸ö¿ò¼ÜÆÀÂÛһϰɡ£ËµµÄ²»ºÃµÄ£¬²»¶ÔµÄ»¹ÇëÅúÆÀÖ¸Õý¡£
ASP.NET MVC——ÂÝÐý½ø²½µÄ²úÎï
¶ÔÓÚ΢ÈíÎªÊ²Ã´ÒªÍÆ³öASP.NET MVC£¬ÎÒÃÇÊÇÎÞ´ÓµÃÖªµÄ£¬Ò²ÐíÊÇÒòΪJavaEEƽ̨ÉÏÓÐStruts£¬Ò²ÐíÊÇÒòΪMVCÌ«Á÷ÐУ¬Ò²Ðí΢ÈíÊÇÏëʹµÃ×Ô¼ºµÄWeb Appƽ̨¸üÍêÉÆ£¬×ÜÖ®ÎÒÃÇÖ»Äܲ²⡣µ«ÊÇÈç¹û»Ø¹ËÒ»ÏÂ΢ÈíµÄWeb Appƽ̨½ø»¯¹ý³Ì£¬»¹ÊǺÜÓÐÒâ˼µÄ¡£
ASP——΢Èí×îÔçΪWeb¿ª·¢×ö³öµÄ¹±Ï׿ÉÄܾÍÊÇASPÁË£¬Õâ¸ö¶¯Ì¬ÓïÑ԰Ѷ¯Ì¬ÍøÒ³¿ª·¢µÄÄѶȿÕǰ½µµÍÁË¡£µ«ÊÇ£¬ÔںܶàÈËÐ˷ܵÄÓÃASPд×ÅÒ»¸öÓÖÒ»¸ö¶¯Ì¬ÍøÒ³Ê±£¬ËüµÄȱµã½¥½¥±©Â¶£ºÓïÑÔ¹ýÓÚ¼òµ¥£¬Ã»ÓÐÃæÏò¶ÔÏóÖ§³Ö¡¢Ã»ÓкõÄIDEÖ§³Ö¡¢¶¯Ì¬½Å±¾ºÍ¾²Ì¬HTMLÔÓôÛÔÚÒ»Æð£¬Ê¹µÃÐ޸ļ°Î¬»¤¼«ÎªÀ§ÄÑ¡£
Web Form——˵ʵ»°£¬¼´Ê¹ÊÇÓÃÏÖÔÚµÄÑ۹⿴£¬Î¢ÈíÍÆ³öµÄWeb Form±à³ÌÄ£ÐÍȷʵÊǺÜÓд´Ò⣬ҲºÜʵÓá£Î¢Èí¿ª´´ÐԵؽ«×ÀÃæÓ¦ÓõĿª·¢Ä£Ê½ÒýÈëWebÓ¦Óÿª·¢£ºÍϿؼþ¡¢Ð´Ê¼þ´¦Àí¡¢ÔËÐÐ...Ò»Çж¼ÄÇôÃÀºÃ£¬¶øÇÒǰ¶Î¾²Ì¬´úÂëºÍºó¶Ë³ÌÐòÍêÈ«¸ôÀëÔÚÁ½¸ö ......
protected
void Page_Load(object sender, EventArgs e)
{
try
{
//query the pdf path
string pdfna =
this.Request.QueryString["pdf"];
if (pdfna == null)
throw new Exception("This
page can not be accessed directly");
string pdf = "Reports\\" +
pdfna;
pdf = Server.MapPath(pdf);
//read all bytes
  ......