C# - How To Remove Or Compress Viewstate
Jan 17, 2011Just spent a lot of time exorcising asp.net's large (but understandably useful) viewstate from an app, and i think it's worth sharing how it's done.
View 8 RepliesJust spent a lot of time exorcising asp.net's large (but understandably useful) viewstate from an app, and i think it's worth sharing how it's done.
View 8 RepliesWhat are the latest and greatest ways to compress the ASP.NET ViewState content?
What about the performance of this? Is it worth it to keep the pages quick and minimize data-traffic?
How can I make:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUKMTM4Mjc3NDEyOWQYAQUeX19Db250cm9sc1JlcXVpcmVQb3N0QmFja0tleV9fFgkFLGN0b
DAwJENvbnRlbnRQbGFjZUhvbGRlcl9NYWluQ29udGVudCRSYWRCdXQxBSxjdGwwMCRDb250ZW50UGxhY2VIb
2xkZXJfTWFpbkNvbnRlbnQkUmFkQnV0MQUsY3RsMDAkQ29udGVudFBsYWNlSG9sZGVyX01haW5Db250ZW50J
FJhZEJ1dDIFLGN0bDAwJENvbnRlbnRQbGFjZUhvbGRlcl9NYWluQ29udGVudCRSYWRCdXQyBSxjdGwwMCRDb
250ZW50UGxhY2VIb2xkZXJfTWFpbkNvbnRlbnQkUmFkQnV0MwUsY3RsMDAkQ29udGVudFBsYWNlSG9sZGVyX
01haW5Db250ZW50JFJhZEJ1dDQFLGN0bDAwJENvbnRlbnRQbGFjZUhvbGRlcl9NYWluQ29udGVudCRSYWRCd
XQ0BSxjdGwwMCRDb250ZW50UGxhY2VIb2xkZXJfTWFpbkNvbnRlbnQkUmFkQnV0NQUsY3RsMDAkQ29udGVud
FBsYWNlSG9sZGVyX01haW5Db250ZW50JFJhZEJ1dDXz21BS0eJ7991pzjjj4VXbs2fGBw==" />
Into sometning like this:
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE"
value="/wEPDwUKMTM4Mjc3N==" />
I want to remove viewstate from page completely without using MVC pattern.
I am using c# 4.0
I have a site that features some pages which do not require any post-back functionality. They simply display static HTML and don't even have any associated code. However, since the Master Page has a <form runat="server"> tag which wraps all ContentPlaceHolders, the resulting HTML always contains the ViewState field, i.e:
<input
type="hidden"
id="__VIEWSTATE"
value="/wEPDwUKMjEwNDQyMTMxM2Rk0XhpfvawD3g+fsmZqmeRoPnb9kI="
/>
EDIT: I tried both variants of setting EnableViewState on page level with no luck at all:
<%@ Page Language="C#" EnableViewState="false" %>
<%@ Page Language="C#" EnableViewState="true" %>
I realize, that when decrypted, this value of the input field corresponds to the <form> tag which I cannot remove because it is on my master page. However, I would still like to remove the ViewState field for pages that only display static HTML. Is it possible?
I have a strange problem, my webform is loading twice.
when i debug i see ispostback is showing false for both times.
what happened to the first time load , and the viewstate.
What can remove all info from viewstate and making the ispostback again to false.
i am having real difficulty figuring out what is causing this problem.
I have to let the user downloads a big text file.. By now I'm compressing the file with ".gz" (GZipStream)... And then the user can unzip in his machine.. But some users can't decompress the .gz extension.. And I wonder if there is any way to compress using zip..
View 2 RepliesIn my web application I use an ashx file to write a file to the browser. I've noticed that there's no compression over the .ashx file, but only over my .aspx files.
Is it possible to compress .ashx? And if it is possible, how?
Currently I use global.asax to handle the compression:
<%@ Application Language="C#" %>
<%@ Import Namespace="System.IO" %>
<%@ Import Namespace="System.IO.Compression" %>
<script runat="server">
void Application_PreRequestHandlerExecute(object sender, EventArgs e)
{
HttpApplication app = sender as HttpApplication;.......
As you can see only files which inherit from 'Page' are compressed, and my ashx file is not of type Page. So I added a condition and now it works just fine:
if (!(app.Context.CurrentHandler is Page ||
app.Context.CurrentHandler.GetType().Name == "SyncSessionlessHandler" ||
app.Context.CurrentHandler is ViewMht // This is the type I had to add
) ||
app.Request["HTTP_X_MICROSOFTAJAX"] != null)
return;
I am having a problem passing JSON from PHP server and ASP.NET server.
I am getting Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 48 bytes)
I am looking for a way to compress the JSON.
I have ScriptResource.axd file which is use and whithout compression. also I have JavaScript files that are not compressed too.
this is making website loads reallu slow....20 seconds....:
What can I do to reduce this and compress everything?
I want enable Gzip compresion inasp.net
I tried by adding following lines in web config
<system.webServer>
<httpCompression directory="%SystemDrive%inetpub
tempIIS Temporary Compressed Files">
[Code]....
Now here is the weird thing. First i am running it locally on the built in vs2008 web server.I load my control in fine, do a postback from a linkbutton, locally on my machine it all works fine, no issue.However when it goes onto my host, it falls over with the message:
Failed to load viewstate. The control tree into which viewstate is being loaded must match the control tree that was used to save viewstate during the previous request.Now i also load controls dynamically and use postbacks and things in the admin area of the site...and that works fine, however my front end just keeps failing? See the code behing below:
[Code]....
We are trying to compress JS and CSS files in our application which is Running IIS 7.5. Both JS and CSS files are getting compressed
But application is not able to load these compressed .JS and .CSS files it is still referring to old un compressed files.
Just for your info Compress JS and CSS Files are at C:inetpub empIIS Temporary Compressed FilesDefaultAppPool$^_gzip_C^.
Here are the setting which i have in AppHost.config file
<dynamicTypes>
<add mimeType="text/*" enabled="true" />
<add mimeType="message/*" enabled="true" />[code]..
I want that suppose user upload 2 MB image then from that image i want to generate 1 thumbnail image.To reduce its size , so i can get speed in loading. as my listing page contains many images.so i am getting to much loading time. SO can you tell me how can i compress image or get Thumbnail image?
View 1 RepliesHow to Compress uploaded file using upload control and send the file to our directory...(C#)
I want to send file up to 600MB
Any way to compress bitmaps, jpeg, png images for space. The reason being i have a webform that takes in n number of images from a user and stores it to a mapped drive. what i want to do is compress those images to optimize on space on the drive.
View 1 RepliesI have problem getting values from viewstate in GetTopThemes.
<asp:ObjectDataSource
ID="sourceGetTopThemes"
runat="server"
TypeName="DBConnection"
SelectMethod="GetTopThemes"
EnableViewState="true"></asp:ObjectDataSource>
[Code]....
}
[Code]....
when the page is not Posted back, I saved all values in the viewstate.
In the past, with pages with large viewstate I have overridden the PageStatePersister class so when the state is saved I compress it. On Load I decompress it. I have haven't really thought about it, but could IIS handle something like this better? The reason I did this was to keep my pages slimmer because I have a lot of custom controls on the page and the viewstate was huge. This is where I got my original code from:[URL]
View 1 Repliesi am trying to compress video files by using gzip in asp.net.
View 1 RepliesI have been getting this error a lot lately with some of my users, and I had a couple of concerns with view state and I have read so many articles but I am still lost..
1. I use masterpage on all the pages and I need viewstate for some of the pages but..
There is a page where a user will fill out the information and then submit this data to a cgi server, and it is where I get most of the Client Disconnected errors, what would happen if I disable viewstate when they click on that button?
Now when a user browses from one page to another, does the view state from the previous page get deleted? If not how would I delete it?
Does the master page have its own viewstate? Would I be able to make sure none of items on my master page are using the viewstate?
I have a shopping cart page (Cart.aspx) that has a button that will (sometimes) post to a third party payment gateway, if payment is necessary. The payment gateway will process the payment and then do a silent post to my website (Order.aspx) so I can update the order status.
Order.aspx always throws an invalid viewstate error, even though viewstate is disabled on the page.
What's happening is that Cart.aspx (which has viewstate enabled) posts to the payment gateway, and the gateway will post it back as part of the silent post. Even though Order.aspx has viewstate disabled and validation disabled, it still tries to validate the __viewstate field it's being given.
I know setting EnableViewState=false will disable the rendering of the __viewstate field, but if another page provides the field, shouldn't it still skip validation? I tried calling ViewState.Clear() on the Page_Init event of Order.aspx, but ViewState is apparently empty. how to get around this? I don't want to disable ViewState on Cart.aspx (in some cases it may be necessary), but I can't figure out how to clear it on Order.aspx.
What is the best library/software to compress the dynamically generated javascript on server? I use javascriptzip to do so statically. Any solution for .Net platform? P.S. compression involves removing unnecessary spaces + language compression like changing new Object() into { }
View 2 RepliesI am trying to upload large videos(more than 1GB) to youtube from webpage. But youtube is allowing me to upload max 8MB videos. So I want to reduce the size of the video and then upload the reduced video to youtube. So, how to reduce the video size.
View 1 Replieswe're looking to compress our gargantuan JavaScript files with GZip to speed up the page loads of our site. I know this can be done through IIS, but I can't seem to find a simple step-by-step guide on how to implement it.We're running IIS7.5 on Windows Server 2008 R2.
View 2 Replieshow do I write a code for the remove button I want to remove the row where the remove button is clicked. he code for my webform is below
html code for remove
<td>
<asp:LinkButton runat="server" ID="lnkbtnRemove" Text="Remove" OnClick="lnkRemoveGuest_Click" ></asp:LinkButton>
[Code]....
I have a typical reporting application:
Large report <-- HTTP Compression --> ASP.NET Web Server <-- ??? --> SQL Server 2008
Since I have so much (repetitive) data to send to the client, I would like both network hops to have compression.
Is there a transport-level compression setting for SQL Server?