ASP.NET Ê×Ò³ÐÔÄܵÄÊ®´ó×ö·¨
ASP.NET Ê×Ò³ÐÔÄܵÄÊ®´ó×ö·¨
ǰÑÔ
±¾ÎÄÊÇÎÒ¶ÔASP.NETÒ³ÃæÔØÈëËÙ¶ÈÌá¸ßµÄһЩ×ö·¨£¬ÕâЩ×ö·¨·ÖΪÒÔϲ¿·Ö£º
1.²ÉÓà HTTP Module ¿ØÖÆÒ³ÃæµÄÉúÃüÖÜÆÚ¡£
2.×Ô¶¨ÒåResponse.FilterµÃµ½Êä³öÁ÷streamÉú³É¶¯Ì¬Ò³ÃæµÄ¾²Ì¬ÄÚÈÝ(´ÅÅÌ»º´æ)¡£
3.Ò³ÃæGZIPѹËõ¡£
4.OutputCache ±à³Ì·½Ê½Êä³öÒ³Ãæ»º´æ¡£
5.ɾ³ýÒ³Ãæ¿Õ°××Ö·û´®¡££¨ÀàËÆGoogle£©
6.Íêȫɾ³ýViewState¡£
7.ɾ³ý·þÎñÆ÷¿Ø¼þÉú³ÉµÄÀ¬»øNamingContainer¡£
8.ʹÓüƻ®ÈÎÎñ°´Ê±Éú³ÉÒ³Ãæ¡££¨±¾ÎIJ»°üº¬¸Ã×ö·¨µÄʵÏÖ£©
9.JS£¬CSSѹËõ¡¢ºÏ²¢¡¢»º´æ£¬Í¼Æ¬»º´æ¡££¨ÏÞÓÚÎÄÕÂÆª·ù£¬±¾ÎIJ»°üº¬¸Ã×ö·¨µÄʵÏÖ£©
10.»º´æÆÆ»µ¡££¨²»°üº¬µÚ9×ö·¨µÄʵÏÖ£©
Õë¶ÔÉÏÊö×ö·¨£¬ÎÒÃÇÊ×ÏÈÐèÒªÒ»¸ö HTTP Ä£¿é£¬ËüÊÇÕû¸öÒ³ÃæÁ÷³ÌµÄÈë¿ÚºÍºËÐÄ¡£
Ò»¡¢×Ô¶¨ÒåResponse.FilterµÃµ½Êä³öÁ÷streamÉú³É¶¯Ì¬Ò³ÃæµÄ¾²Ì¬ÄÚÈÝ(´ÅÅÌ»º´æ)
ÈçϵĴúÂëÎÒÃÇ¿ÉÒÔ¿´³ö£¬ÎÒÃÇÒÔ request.RawUrl Ϊ»º´æ»ù´¡£¬ÒòΪËü¿ÉÒÔ°üº¬ÈÎÒâµÄQueryString±äÁ¿£¬È»ºóÎÒÃÇÓÃMD5¼ÓÃÜRawUrl µÃµ½·þÎñÆ÷±¾µØÎļþÃûµÄ±äÁ¿£¬ÔÙʵÀý»¯Ò»¸öFileInfo²Ù×÷¸ÃÎļþ£¬Èç¹ûÎļþ×îºóÒ»´ÎÉú³Éʱ¼äСÓÚ7Ì죬ÎÒÃǾÍʹÓÃ.Net2.0ÐÂÔöµÄTransmitFile·½·¨½«´æ´¢ÎļþµÄ¾²Ì¬ÄÚÈÝ·¢Ë͵½ä¯ÀÀÆ÷¡£Èç¹ûÎļþ²»´æÔÚ£¬ÎÒÃǾͲÙ×÷ response.Filter µÃµ½µÄ Stream ´«µÝ¸ø CommonFilter À࣬²¢ÀûÓÃFileStreamдÈë¶¯Ì¬Ò³ÃæµÄÄÚÈݵ½¾²Ì¬ÎļþÖС£
namespace ASPNET_CL.Code.HttpModules {
public class CommonModule : IHttpModule {
public void Init( HttpApplication application ) {
application.BeginRequest += Application_BeginRequest;
}
private void Application_BeginRequest( object sender, EventArgs e ) {
var context = HttpContext.Current;
var request = context.Request;
var url = request.RawUrl;
var response = context.Response;
var path = GetPath( url );
var file = new FileInfo( path );
if ( DateTime.Now.Subtract( file.LastWriteTime ).TotalDays < 7 ) {
response.TransmitFile( path );
response.End();
return;
}
try {
var stream = file.OpenWrite();
Ïà¹ØÎĵµ£º
ASP.NET ÖеÄÉè¼ÆÄ£Ê½Ö®MVCƪ
ASP.NET
ÖеÄÉè¼ÆÄ£Ê½Ö®
MVC
ƪ
Éè¼ÆÄ£Ê½
MVC
Ò³Ãæ¿ØÖÆÆ÷
Ä£°åÓë
Page
»ùÀà
Éè¼ÆÄ£Ê½
Èí¼þ¿ª·¢ÖУ¬Èí¼þ¸´ÓúÍÍŶÓÐ×÷¶¼Ò»Ö±ÊÇ×îΪÈËÃǹØ×¢µÄÖØÒªÎÊÌâÖ®Ò»¡£ÓÐȤµÄÊÇ£¬ÕâÁ½¸öËÆºõÊôÓÚÈí¼þ¹¤³Ì·¶³ëµÄÎÊÌâ¶¼ÓÐÒ»¸ö¹²Í¬µÄ¼¼Êõ·½ÃæµÄ½â¾öÖ®µÀ£ºÉè¼ÆÄ£Ê½¡£
  ......
Web Ò³ÃæÊÇÎÞ״̬µÄ£¬ ·þÎñÆ÷¶Ôÿһ´ÎÇëÇó¶¼ÈÏΪÀ´×Ô²»Í¬Óû§£¬Òò´Ë£¬±äÁ¿µÄ״̬ÔÚÁ¬Ðø¶ÔÍ¬Ò»Ò³ÃæµÄ¶à´ÎÇëÇóÖ®¼ä»òÔÚÒ³ÃæÌø×ªÊ±²»»á±»±£Áô¡£
0¡¢ÒýÑÔ
Web Ò³ÃæÊÇÎÞ״̬µÄ£¬·þÎñÆ÷¶Ôÿһ´ÎÇëÇó¶¼ÈÏΪÀ´×Ô²»Í¬Óû§£¬Òò´Ë£¬±äÁ¿µÄ״̬ÔÚÁ¬Ðø¶ÔÍ¬Ò»Ò³ÃæµÄ¶à´ÎÇëÇóÖ®¼ä»òÔÚÒ³ÃæÌø×ªÊ±²»»á±»±£Áô¡£ÔÚÓÃAsp.NET Éè¼Æ¿ª·¢Ò»¸öWeb ......
֮ǰҪÍê³ÉÒ»¸öÖ§³Ö¶àÖ§³Ö¶àÖÖ¸ñʽµÄÊÓÆµ²¥·ÅÆ÷£¬ÔÚÍøÉÏÕÒµ½Ò»¸öVBдµÄ£¬È»ºó¸Ä³ÉC#£¬½ü¶ÎÔÚÍøÉÏÒ²¼ûÓв»ÉÙÈËÎÊÕâ¸öÎÊ£¬ÔÚ´Ë·ÖÏí
public class VideoPlayer
{
/// <summary>
/// Éú³ÉÊÓÆµ²¥·ÅÆ÷µÄHTM ......
//TransmitFileʵÏÖÏÂÔØ
protected void Button1_Click(object sender, EventArgs e)
{
/*
΢ÈíΪResponse¶ÔÏóÌṩÁËÒ»¸öÐµķ½·¨TransmitFileÀ´½â¾öʹÓÃRespo ......
asp.net¼òÌå×Öת·±Ìå×ÖµÄÀà¿â
Õâ¶«Î÷ËäÈ»¼òµ¥£¬µ«Ò²²»Ê§Îª¾µäµÄÀà¿â£¬¸öÈ˶øÑÔ£¬¾Í·Ç³£Ï²»¶Õâ¸öÀà¿â¡£
ÓÃÎÄ×ּǼÏÂÀ´°É£¬Áô¸ö¼ÇÄî°É
ÔÚvsÖУ¬ÓÐÒ»¸ö¾µäµÄMicrosoft.VisualBasic.dllµÄVBÀà¿â£¬¸ù¾Ý¹Ù·½µÄÃèÊö£º
ËüÄÜÌṩ¶ÔÐí¶à .NET Framework ÀàµÄ¼òµ¥Ö±¹ÛµÄ· ......