Groups > Asp .Net > HttpHandlers and HttpModules > Re: Issue with HttpModule




Issue with HttpModule

Issue with HttpModule
Fri, 22 Feb 2008 14:14:30 +000
I am using an HttpModule to move the viewstate component of a page to the
bottom.

The following is the code.

  

#region Usingusing System;
using System.IO;
using System.Web;
using System.Text;
using System.Text.RegularExpressions;

#endregion

namespace XXX.HttpModules
{

    /// <summary>
    /// Removes whitespace from the webpage.
    /// </summary>public class ViewstateModule : IHttpModule
    {

        #region IHttpModule Membersvoid IHttpModule.Dispose()
        {
            // Nothing to dispose; 
        }

        void IHttpModule.Init(HttpApplication context)
        {
            context.BeginRequest += new EventHandler(context_BeginRequest);
        }

        #endregion

        void context_BeginRequest(object sender, System.EventArgs e)
        {
            HttpApplication app = sender as HttpApplication;
            if (app.Request.Url.OriginalString.Contains(".aspx") ||
app.Request.Url.OriginalString.Contains(".ascx"))
            {
                app.Response.Filter = new ViewstateFilter(app.Response.Filter);
            }
        }

        #region Stream filterprivate class ViewstateFilter : Stream
        {

            public ViewstateFilter(Stream sink)
            {
                _sink = sink;
            }

            private Stream _sink;

            #region Properitespublic 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();
            }

            public override long Length
            {
                get { return 0; }
            }

            private long _position;
            public override long Position
            {
                get { return _position; }
                set { _position = value; }
            }

            #endregion

            #region Methodspublic override int Read(byte[] buffer, int offset,
int count)
            {
                return _sink.Read(buffer, offset, count);
            }

            public override long Seek(long offset, SeekOrigin origin)
            {
                return _sink.Seek(offset, origin);
            }

            public override void SetLength(long value)
            {
                _sink.SetLength(value);
            }

            public override void Close()
            {
                _sink.Close();
            }

            public override void Write(byte[] buffer, int offset, int count)
            {
                byte[] data = new byte[count];
                Buffer.BlockCopy(buffer, offset, data, 0, count);
                string html = System.Text.Encoding.Default.GetString(buffer);

                int startPoint = html.IndexOf("&lt;input
type=\"hidden\" name=\"__VIEWSTATE\"");
                if (startPoint >= 0)
                {
                    int endPoint = html.IndexOf("/>", startPoint) +
2;
                    string viewstateInput = html.Substring(startPoint, endPoint
- startPoint);
                    html = html.Remove(startPoint, endPoint - startPoint);
                    int formEndStart =
html.IndexOf("&lt;/form>") - 1;
                    if (formEndStart >= 0)
                    {
                        html = html.Insert(formEndStart, viewstateInput);
                    }
                }

                byte[] outdata = System.Text.Encoding.Default.GetBytes(html);
                _sink.Write(outdata, 0, outdata.GetLength(0));
            }

            #endregion

        }

        #endregion

    }

}
 

The issue I have is that the HttpModule is not doing what it is created to do.
It randomly places text on the screen, messing with layout etc. Its occuring on
every page of my site. Could someone assist me with why this might be happening?
Is it the code or possibly the setup? I am using another HttpModules on my site
to rewrite url's and dont have any issue with this.

Help would be appreciated.
Post Reply
Re: Issue with HttpModule
Mon, 25 Feb 2008 09:20:21 +000
I think this is possible, guess you are not inserting at the right place that
cause the mess of the layout. Could you provide the html output?
Post Reply
Re: Issue with HttpModule
Mon, 25 Feb 2008 11:07:56 +000
This is an example of the text it randomly places on a page

Download OPML fi ( gif" nginealse_ate,null_Imlas1" alt="
Blogopml-pnglass="rOPMLable> <> 
9ev cine my own personaliopin2abs and do not/pipresmmenmy employer's vdiv>v
cinyway.1>Cale/BlogEngine/&"oty;
CotyCale/BlogEngine/calendar/;function
:__doBlogBeCalendar,date,null,fals9,fals2','="/BSv ne.NndtepNndtegories
<>ies',da.oldSubmit{if;">',da.submit;
;">',da.submit{ifl00',datSaveScrButBloib2abSubmit;
;">',da.oldObSubmit{if;">',da.absubmit;
;">',da.absubmit{ifl00',datSaveScrButBloib2abObSubmit;
//]]Engtep://localmies< wEWhi Krvw?,datS< ButBl div< htm?b<
clagoriesal< />V fingtep:__EVENTTARGET ButBl__EVENTTARGET Bvaluep:t{iftSV
fingtep:__EVENTARGUMENT ButBl__EVENTARGUMENT Bvaluep:t{iftSV fingtep:__VIEWSTATE
ButBl__VIEWSTATE
Bvaluep:/wEPDwUKMTMwMjA1NTk1OQ9kFgJmD2QWAgIFD2QWAgIBD2QWBGYPFgIeCWlubmVyaHRtbAUJ
aG9tZSBwYWdlZAIBDxYCHwAF0QE8cD4NClRoaXMgaXMgYW4gZXhhbXBsZSBwYWdlLiANCjwvcD4NCjxw
Pg0KJm5ic3A7Rm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgcGFnZXMgYW5kIGhvdyB0byB1c2UgdGhl
bSwmbmJzcDt2aXNpdCB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5kb3RuZXRibG9nZW5naW5lLm5ldC93
aWtpL1BhZ2VzLmFzaHgiPkJsb2dFbmdpbmUuTkVUIHdpa2k8L2E+LiANCjwvcD4NCmQYAQUeX19Db250
cm9sc1JlcXVpcmVQb3N0QmFja0pmKV9fFgIFGmN0bDAwJEluZm9Cb3gxJGN0bDA5JGN0bDAxBRpjdGww
MCRJbmZvQm94MSRjdGwwOSRjdGwwM/GOcllt4GE9yOqL/uZqhyBZcsp1t{iftS<0',datStS<
h1> iesMads Kristidddnbsubbmit; avEC<0pPgH; avEC<0',datSavit;
{iflavEC<,da.oldSubmit{if;? --bbmit; Email avEC',da.submit;
;">/AAbm<0',datStSSdef nmitabel><
onml-preatSaif(evcCt.ml-Code="=13)AcCr" ButBlsdef lNAm n sdef
Bvaluep:EBlNA wEWslan>< nCldef(?EBlNA onblurbSSeef onfocusbSSeef
n(valuObj0?ogEng)< Sdef /> Bvaluep:Seef n ButBlsdef nb ;"> Boncpu
kp:Seef n(valuObj0"ogEng);< onml-preatSaSeef n(valuObj0"ogEng);<
ifIncpude comQcCto in sdef
nmitabel><0',datS<',D0',DATSABOX8VMUG8PMKYCALENDARRAHJPGHAR<',D0&quo
t;RSSBSASLAN-ALIGN:C ?rssBSa;b50aer-collapse:collapse;pm<
sgEAmScrButBlCalendarl00?,ogEApmil Ny2"wsummary/cP/ c
Calendar"wATIONEnCalendar"
b50aerNy0"w"rssBSab50aer-width:0es;b50aer-collapse:collapse;pmEAv<
rssBSawidth:14%;pm3N ?,datSaweekendp tmK<0',da< h1> ies',da.submit;
;">/alendar/dm"b< />View
;">',da.oldS0OAvyTsLoGAvSApm/yT0N-DApm.ivmieaLIGArahgFkCt">yT0Nw
DApmraubmit; ;">',da.oldS0OAvyTsLoGAvSApm/New-PareCt.//lx8vNew
PareCtraubmit; ;">',da.oldS0OAvyTsLoGAvSApm/PareCt-3.//lx8vPareCt
3raubmit;
;">',da.oldS0OAvyTsLoGAvSApm/sub-of-PareCt-3.//lx8vsubrahpPareCt
3raubmit;
;">',da.oldS0OAvyTsLoGAvSApm/sub-of-sub-of-pareCt-2.//lx8vsubrahpsubrahp
pareCt 2raubmit;
;">',da.oldS0OAvyTsLoGAvSApm/sub-DApm.iv',da.oldS0OAvyTsLoGAvSApm/Test-P
Apm.ivTest PApmraubmit; 0.absubm<0',datStS< Bl
Bl8vMug8pmKyRCc>',da.oldS0OAvyTsLoGAvSda.submi-3.//lx8vubmi
3raubmspan/l0mQcCto: 0N/span/mspan/Rubmng: 0 / 0N/span/mit;
;">',da.oldS0OAvyTsLoGAvSda.submi-2.//lx8vubmi 2raubmspan/l0mQcCto:
0N/span/mspan/Rubmng: 0 / 0N/span/mit;
;">',da.oldS0OAvyTsLoGAvSda.sWelcT0N-to-OAvyTsLoGANET-13.//lx8vWelcT0Nw
pPOAvyTsLoGA.NET if3raubmspan/l0mQcCto: 4N/span/mspan/Rubmng: 4.4 / 3N/span/mit;
0.absu<0',datStS',da.oldS0OAvyTsLoGAvSda.sWelcT0N-to-OAvyTsLoGANET-13.//lx8a'
,datSaDda.TApmK">WelcT0Nw pPOAvyTsLoGA.NET if3raub (4)mbr{ifNiall wrote:
2A<,da.oldS0OAvyTsLoGAvSda.sWelcT0N-to-OAvyTsLoGANET-13.//lx#id_bc98810c-e51c
-4ea1-b8bd-e350acdd43f38a',datSamoreLink">[More]raubmit;
;">',da.oldS0OAvyTsLoGAvSda.sWelcT0N-to-OAvyTsLoGANET-13.//lx8a',datSaDd
a.TApmK">WelcT0Nw pPOAvyTsLoGA.NET if3raub (4)mbr{ifNiall wrote: new
comQA<,da.oldS0OAvyTsLoGAvSda.sWelcT0N-to-OAvyTsLoGANET-13.//lx#id_d324d182-2
74c-4afd-b05c-b9d98f7263928a',datSamoreLink">[More]raubmit;
;">',da.oldS0OAvyTsLoGAvSda.sWelcT0N-to-OAvyTsLoGANET-13.//lx8a',datSaDd
a.TApmK">WelcT0Nw pPOAvyTsLoGA.NET if3raub (4)mbr{ifNiall wrote:
sdfsdfsdfA<,da.oldS0OAvyTsLoGAvSda.sWelcT0N-to-OAvyTsLoGANET-13.//lx#id_c397f
39e-0ffe-45b4-a6ba-f690b73721288a',datSamoreLink">[More]raubmit;
;">',da.oldS0OAvyTsLoGAvSda.sWelcT0N-to-OAvyTsLoGANET-13.//lx8a',datSaDd
a.TApmK">WelcT0Nw pPOAvyTsLoGA.NET if3raub (4)mbr{ifNiall wrote:
Checking if anyqe_sue
Dda.ing.A<,da.oldS0OAvyTsLoGAvSda.sWelcT0N-to-OAvyTsLoGANET-13.//lx#id_689c4f
d2-25f5-4f32-aaac-31c6ea6723388a',datSamoreLink">[More]raubmit;
0.absubm<0',datStS ;"B',datSayear" oncpu
kp:ToggleM00'h('year2008g)<>2008NulButBlyear20088a',datSao/wnl
;">',da.oldS0OAvyTsLoGAv2008/01/dm"b<>January (2)raubmit;
0.abmit; ;"B',datSayear" oncpu
kp:ToggleM00'h('year2007g)<>2007NulButBlyear2007l
;">',da.oldS0OAvyTsLoGAv2007/12/dm"b<>DCc/mbNA (1)raubmit;
0.abmit; 0.absubm<0',datStS
;">',da.oldS0OAvyTsLoGAvsynd.suFkCt.axd?aues
Brel="nofollow"ButBloib2ab0OAvyTsLoGAvSubmirssB
;">.,da.oldObSRSS fe d //] Admi> B',datSacssB
;">pTION/a>',da.oldS0OAvyTsLoGAvaues.iv >Admi> (3)raubmit;
0.absubm<0',datStS ;">',da.oldS0OAvyTsLoGAv?tag=/bAvy B',datSabigpm_t
BATIONEn/ag: bAvy >bAvy raubmit;
;">',da.oldS0OAvyTsLoGAv?tag=/welcT0N B',datSabigpm_t BATIONEn/ag:
welcT0N >welcT0N raubmit; 0.absubm<0',datStS
;">',da.oldS0OAvyTsLoGAvsynd.suFkCt.axd?cNXEgory=19770e74-9ec9-4cde-b2ab
-e5051aaaf348 Brel="nofollow"ButBloib2ab0OAvyTsLoGAvSubmirssB
;">.,da.oldObSRSS fe d //] OAvyTsLoGA.NET B',datSacssB
;">pTION/a>',da.oldS0OAvyTsLoGAv//] OAvyTsLoGA.NET B',datSacssB
;">pTION/a>ssB
�vyTsLoGAv?tagn="ls2','="/BSr:N/a>',da.oldS0OA>/a>',da.oldS
0OatStS'rB da.olatStStSdatSaCaleba>'rB isplas8
;">',doxBlcNaxd?cNXEgory=dm"bs.
;">bSeeer.B',/netslave>.,da.oldObSRSS fe d //] OAvyTsLoGA.NET
B',datSacssB ;">pTIONdS0Oaslave>sLoGA.NET B',datdm"bs.
;">bSeeer.B',/razoraulBu,da.oldObSRSS fe d //] OAvyTsLoGA.NET
B',datSacssB ;">pTIONAl Nyveldt>sLoGA.NET
B',datdm"b'/AvSubmicmarycCt.Al Nyveldtg=/welcT0N B',datSabigdm"bs.
;">bSeeer.B',/r"c/Bu,da.oldObSRSS fe d //] OAvyTsLoGA.NET
B',datSacssB ;">pTIONRuslan Tc/BsLoGA.NET
B',datdm"b'/AvSubmicmarycCt.Ruslan Tc/S/alendar/dm"b< />View
<0',display:ba>ck;ry 2008N/tmN/tablls2','="Download OPML fi (4
>Download OPML fi ( ,da.osLoGAalse_NXE,null_Im,da1"oldObS
OAvyopml-png,datSacOPMLablN><0',apse;pmEAv&aoty; CotyN/tab
">',dyCalesubmit; ;">/alendar/;funories
:__doubmiBECalendar,dNXE,null,fals9,fals2','dS0OSN/tarBGA.NndXEpNndXEgorim_<'
,d0',dgorim_<',drahjPgim_ra '''V fi; XEit__EVENTTARGET0B
ub__EVENTTARGET0BvaluEitt{ifXSV fi; XEit__EVENTARGUMENT0B
ub__EVENTARGUMENT0BvaluEitt{ifXSV fi; XEit__VIEWSTATE0B
ub__VIEWSTATE0BvaluEit/wEPDwUKMTMwMjA1NTk1OQ9kFgJmD2QWAgIFD2QWAgIBD2QWBGYPFgIeCW
lubmVyaHRtbAUJaG9tZSBwYWdlZAIBDxYCHwAF0QE8cD4NClRoaXMgaXMgYW4gZXhhbXBsZSBwYWdlLi
ANCjwvcD4NCjxwPg0KJm5ic3A7Rm9yIG1vcmUgaW5mb3JtYXRpb24gYWJvdXQgcGFnZXMgYW5kIGhvdy
B0byB1c2UgdGhlbSwmbmJzcDt2aXNpdCB0aGUgPGEgaHJlZj0iaHR0cDovL3d3dy5kb3RuZXRibG9nZW
5naW5lLm5ldC93aWtpL1BhZ2VzLmFzaHgiPkJsb2dFbmdpbmUuTkVUIHdpa2k8L2E+LiANCjwvcD4NCm
QYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0pmKV9fFgIFGmN0bDAwJEluZm9Cb3gxJGN0bDA5JG
N0bDAxBRpjdGwwMCRJbmZvQm94MSRjdGwwOSRjdGwwM/GOcllt4GE9yOqL/uZqhyBZcsp1t{ifXS<
0',dNXSXS<,drahjPgim_ra '< T) (!ggC?<>'< (!ggC?<
]]fXS<0vyTqN8JXSXSXS<,drahjPvyTpN0OAvyTsLoGAvWTIOesourcejJcNAd="j246o
rv_38DeKtGbza6y6A2&t=633330517182422156" T.submit();bmit;
T.__EVENTARGUMENT.valuE="evcCtArguQcCt;bmit;"
T.__EVENTTARGET.valuE="evcCtTarget;bmit;" T.onsubmit() (ggC?<
T.onsubmit __doPa0?Back(evcCtTarget, funorim_>pTIONRuslan u new
Objhid<0vyTqN8JXSXSObSubmit; aveScrB ubCalesub8vMug8CgObSubmit;
avECg8vk4AgCg8vw3DApmpmK/sgEApmKB
ubCtl00_cphBib2_h1TApmK">yT0NwDApmrahjPgHArahmScrB
ubCtl00_cphBib2_ScrTlanid<0pPgH<
examplNwDApm.>ubmicmarycC;">/wiki/PApm_.{ih_raOAvyTsLoGA.NET
wikibsub. XS<0pPgH<0',dNObSubmit; {ifl00',dNXSbmit; avEC 

ubmicmarycC;">raOAvyTsLoGA.NETbsub,da3.0.0Mads Kristidddnbsubbmit;
avEC<0pPgH; avEC<0',dNXSavit;
{iflavEC/abouuOggCgaum_AAbm<0',dNXSXSSdm" nmitabel>Incpude comQcCtm
in sdm"
nmitabel><0',dNXS<',D0',DNXSABOX8VMUG8PMKYCALENDARRAHJPGHAR<',D0ACSS
BSASLAN-ALIGN:CSUBNAPMK ubCalendarl00?,mitApm/r
acssBSa;b50aer-collapse:collapse;pm<<<0ub  N/tmK< tmKil
Ny2"wsummary>/Pa0' Calendar"wATIONTsCalendar"
b50aerNy0"wacssBSab50aer-width:0m_;b50aer-collapse:collapse;pmEAv<
tmK<0',dN<,drahjPgim_ra
<0vyTqN8JXSsgEAmbr{ifXSsgEA<,dN.oldSubmit{if;pm?,dN.submit;
{UpdNXTCalendar(m00?hs[dNXT],
T_DoCallback(?Ctl00$InfoBox1$Ctl00?,dNXT,UpdNXTCalendar,dNXT,null,false)}else
?undefmitd?){WTI?< m00?hs[dNXT]="=" (m00?hs[dNXT]="="
CalNav(dNXT){if Object();funorim_
/>;pm',dN.oldS0OAvyTsLoGAvSApm/yT0N-DApm.,dra0BATIONTsls2LIGArahgFkCtqA__ML d
asOmimaLIGArahgFkCt">yT0NwDApmraubmit;
;pm',dN.oldS0OAvyTsLoGAvSApm/New-PareCt.{ifx8vNew PareCtraubmit;
;pm',dN.oldS0OAvyTsLoGAvSApm/PareCt-3.{ifx8vPareCt 3raubmit;
;pm',dN.oldS0OAvyTsLoGAvSApm/sub-of-PareCt-3.{ifx8vsubrahpPareCt 3raubmit;
;pm',dN.oldS0OAvyTsLoGAvSApm/sub-of-sub-of-pareCt-2.{ifx8vsubrahpsubrahppareCt
2raubmit; ;pm',dN.oldS0OAvyTsLoGAvSApm/sub-DApm.,dra0vsubrDApmraubmit;
;pm',dN.oldS0OAvyTsLoGAvSApm/Test-PApm.,dra0BATIONTsIGArahgFkCt">Test
PApmraubmit; 0.absubm<0',dNXSXS<0?,dNXSXSWelcT0Nw
<,dN.oldS0OAvyTsLoGAvSdN.sWelcT0N-to-OAvyTsLoGANET-13.{ifx#id_bc98810c-e51c-4
ea1-b8bd-e350acdd43f38d?,dNXSamoreLink? wrote: (4)mbr{ifNiall
da3raub>[More]raubmit;
;pm',dN.oldS0OAvyTsLoGAvSdN.sWelcT0N-to-OAvyTsLoGANET-13.{ifx8d',dNXSaDdN.TApmK&
quot;>WelcT0Nw
<,dN.oldS0OAvyTsLoGAvSdN.sWelcT0N-to-OAvyTsLoGANET-13.{ifx#id_d324d182-274c-4
afd-b05c-b9d98f7263928d?,dNXSamoreLink?>[More]raubmit;
;pm',dN.oldS0OAvyTsLoGAvSdN.sWelcT0N-to-OAvyTsLoGANET-13.{ifx8d',dNXSaDdN.TApmK&
quot;>WelcT0Nw
<,dN.oldS0OAvyTsLoGAvSdN.sWelcT0N-to-OAvyTsLoGANET-13.{ifx#id_c397f39e-0ffe-4
5b4-a6ba-f690b73721288d?,dNXSamoreLink?>[More]raubmit;
;pm',dN.oldS0OAvyTsLoGAvSdN.sWelcT0N-to-OAvyTsLoGANET-13.{ifx8d',dNXSaDdN.TApmK&
quot;>WelcT0Nw
<,dN.oldS0OAvyTsLoGAvSdN.sWelcT0N-to-OAvyTsLoGANET-13.{ifx#id_689c4fd2-25f5-4
f32-aaac-31c6ea6723388d?,dNXSamoreLink? anyqA_suE Checking>[More]raubmit;
0.absubm<0',dNXSXS ;pB',dNXSayear" oncpu kitToggleM00'h('year2008
)r>2008NulB ubyear20088d',dNXSao/wn, ;pm',dN.oldS0OAvyTsLoGAv2008/01/dmabpm
',dra0>January (2)raubmit; 0.abmit; ;pB',dNXSayear" oncpu
kitToggleM00'h('year2007 )r>2007NulB ubyear2007,
;pm',dN.oldS0OAvyTsLoGAv2007/12/dmabpm ',dra0>DCcsmbNA (1)raubmit; 0.abmit;
0.absubm<0',dNXSXS ;pm',dN.oldS0OAvyTsLoGAvsynd.suFkCt.axd?aum_Admim
(3)raubmit; 0.absubm<0',dNXSXS
;pm',dN.oldS0OAvyTsLoGAv?tag=/bAvy0B',dNXSabigpm_t0BATIONTslag: bAvy0>bAvy
raubmit; ;pm',dN.oldS0OAvyTsLoGAv?tag=/welcT0N0B',dNXSabigpm_t0BATIONTslag:
welcT0N0>welcT0N raubmit; 0.absubm<0',dNXSXS
;pm',dN.oldS0OAvyTsLoGAvsynd.suFkCt.axd?cNXTgory=19770e74-9ec9-4cde-b2ab-e5051aa
af3480Brel="nofollow"B ubmib2ab0OAvyTsLoGAvSubmirssB ;pm.,dN.oldObSRSS
fe d //] OAvyTsLoGA.NET0B',dNXSacssB ;pmpTION/am',dN.oldS0OAvyTsLoGAv//]
OAvyTsLoGA.NET0B',dNXSacssB ;pmpTION/am
Post Reply
Re: Issue with HttpModule
Thu, 28 Feb 2008 10:49:31 +000
What The Hell Is That?
Post Reply
Re: Issue with HttpModule
Thu, 28 Feb 2008 22:42:14 +000
andyl68:What The Hell Is That? 

The html output!
Post Reply
<< Previous 1 2 Next >>
( Page 1 of 2 )
about | contact