my server seems to be sometimes returning wrong html to webclients
im using asp.net 4 with VS 2012. debugging on IIS Express.
in order to debug this issue, id like to trace the html that asp.net is sending
in the Global_asax_PreRequestHandlerExecute
i can access the response code and status, but cant seem to find the body html
i tried to read the OutputStream
like this:
Dim ms = New MemoryStream
CurContext.Response.OutputStream.CopyTo(ms)
Dim sr = New StreamReader(ms)
Dim rtext = sr.ReadToEnd
but that throws a NotSupportedException
Stream does not support reading.
any ideas?
thanks a lot
EDIT
i now tested this for sure
i have a label on the page with the following attributes
<asp:label id="l" runat="server" Font-Bold="true" Font-Size="X-Large" BackColor="Pink"/>
when displayed in the browser it shows just fine, as follows:
<span id="C1_FormView1_l" style="background-color:Pink;font-size:X-Large;font-weight:bold;">Processed</span>
but when downloaded with webclient i get
<span id="C1_FormView1_l"><b><font size="6">Processed</font></b></span>
why is the backcolor lost? and btw, why doesn't it use the more modern style
attribute instead of adding b
and font
if i could read the ResponseStream i would at least know WHERE it gets lost, even that i dont know now.
thank you very much
P.S. if .net 4.5 is better for this, then i might consider changing the target framework
this does not answer my original question technically, but it does solve the issue i was having
the problem was that the html wasnt rendering correctly
i now remembered that aspx has adaptive rendering, so i fgured the useragent used in the request might be to blame
i changed my code to:
and now the html is rendering in correct modern Html5/Css3 markup
i appreciate your help and guidance.
You can get the HTML (and modify it) by overriding Render on the page / site master.
in vb