asp.net È¥µôviewstate
½â¾ö°ì·¨£ºapp_code/ ´æ·ÅÒ»¸öÀà ÓÃÀ´½Ø»ñHTTP
1.´úÂëÈçÏÂ
using System;
using System.IO;
using System.Web;
using System.Text;
using System.Text.RegularExpressions;
/// <summary>
/// Removes whitespace from the webpage.
/// </summary>
public class ViewstateModule : IHttpModule
{
#region IHttpModule Members
void IHttpModule.Dispose()
{
// Nothing to dispose;
}
void IHttpModule.Init(HttpApplication context)
{
context.BeginRequest += new EventHandler(context_BeginRequest);
}
#endregion
void context_BeginRequest(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;
//if (app.Request.Url.OriginalString.Contains(".aspx"))
//{
// app.Response.Filter = new ViewstateFilter(app.Response.Filter);
//}
//reg/Ŀ¼ÏµIJ»½øÐÐÓÅ»¯ ÒòΪ·¢ÏÖrender ºó£¬ÑéÖ¤Âë²»ÄÜÏÔʾ
if (!app.Request.Url.OriginalString.Contains("/reg/"))
{
if (app.Request.Url.OriginalString.Contains(".aspx"))
{
app.Response.Filter = new ViewstateFilter(app.Response.Filter);
}
}
//¾²Ì¬»¯ºóÖØÒ²Òª´¦Àí
if (app.Request.Url.OriginalString.Contains(".html"))
{
app.Response.Filter = new ViewstateFilter(app.Response.Filter);
}
}
#region Stream filter
private class ViewstateFilter : Stream
{
public ViewstateFilter(Stream sink)
{
_sink = sink;
}
private Stream _sink;
#region Properites
public override bool CanRead
{
get { return true; }
}
public override bool CanSeek
{
get { return true; }
}
public override bool CanWrite
{
get { return true; }
}
public override void Flush()
{
_sink.Flush();
}
Ïà¹ØÎĵµ£º
ASP.NET ViewState ÊÇÒ»ÖÖеÄ״̬·þÎñ£¬¿É¹©¿ª·¢ÈËÔ±»ùÓÚÿ¸öÓû§À´¸ú×Ù UI ״̬£¬¸Ã¸¨ÖúÊý¾Ý±»´æ´¢ÔÚÒ»¸öÃûΪ __VIEWSTATE µÄÒþ²Ø×Ö¶ÎÖС£
µ±È»£¬ ViewState ÔÚ ASP.NET ÖÐÓиöÖØÒªµÄ½ÇÉ«¡£Èç¹ûʹÓÃÇ¡µ±£¬ËüÄܹ»¼ò»¯Ò³Ã濪·¢£¬¸Ä½øÓû§ÓëÕ¾µãµÄ½»»¥¡£Èç¹ûÖÃÖ®²»Àí£¬ËüÄܹ»ÏÔÖøÔö¼ÓÕ¾µãÏìÓ¦´óÐ ......
±¾ÎĽéÉÜASP.NET´íÎó´¦Àí£¬ÒÔ¼°½éÉÜÈç¹ûÄúµÄÓ¦ÓóÌÐòÊÔͼµÇ¼Êý¾Ý¿âʱûÓгɹ¦£¬ÔòÏÔʾµÄ´íÎóÐÅÏ¢²»Ó¦¸Ã°üÀ¨ËüÕýÔÚʹÓõÄÓû§Ãû¡£
Òª´´½¨Ò³ÖеÄÈ«¾Ö´¦Àí³ÌÐò£¬Çë´´½¨ Page_Error ʼþµÄ´¦Àí³ÌÐò¡£Òª´´½¨ASP.NETÓ¦ÓóÌÐò·¶Î§µÄ´íÎó´¦Àí³ÌÐò£¬ÇëÔÚ Global.asax ÎļþÖн«´úÂëÌí¼Óµ½ Application_Error ·½·¨¡£Ö»ÒªÄúµÄÒ³»òÓ¦ ......
ÍøÉÏÕÒµ½µÄÒ»¸ö°ì·¨£¬Ò²¿ÉÒÔ½â¾ö Óûسµ¼ü´úÌæÌá½»°´Å¥Ê±£¬Óû§³£°´»Ø³µ£¨·Ç³£¿ìËÙµÄµã»Ø³µ£©µ¼ÖÂÖØ¸´Ìá½»µÄÇé¿ö£º
public class SubmitOncePage : System.Web.UI.Page
{
private string _strSessionKey;
&n ......