viewstate 产生了这么大段代码,是不是影响速度,如何处理?高分或者付费解决

tianmachi 2009-10-28 03:33:42




<input type="hidden" name="__EVENTTARGET" id="__EVENTTARGET" value="" />
<input type="hidden" name="__EVENTARGUMENT" id="__EVENTARGUMENT" value="" />
<input type="hidden" name="__LASTFOCUS" id="__LASTFOCUS" value="" />
<input type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="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" />
...全文
597 17 打赏 收藏 转发到动态 举报
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
老青菜 2011-10-16
  • 打赏
  • 举报
回复
学习了...3Q
zzxap 2009-10-28
  • 打赏
  • 举报
回复
EnableViewState="false"之后,你就要加载多次了,而不是一次加载多次使用
a5796489 2009-10-28
  • 打赏
  • 举报
回复
楼主转到你前台页面的第一行
<%@ Page language="c#" Inherits="FlightWeb.AirPortList" CodeFile="AirPortList.aspx.cs" CodeFileBaseClass="FlightWeb.BasePage" EnableViewState="false" %>

Dobzhansky 2009-10-28
  • 打赏
  • 举报
回复
不错, 学习了
zzxap 2009-10-28
  • 打赏
  • 举报
回复
楼主打算付多少?
zzxap 2009-10-28
  • 打赏
  • 举报
回复
[code=C#]
如果你有在IE中查看当前浏览页面HTML源代码的习惯,你也许常会看到类似以下的代码片断:
<input type="hidden" name="__VIEWSTATE" value="dDwtMzU5NzUyMTQ1O3Q8O2w8aTwwPjs+O2w8dDw7bDxpPDA+Oz47bDx0PDtsPG
……
聪明的你一定会问,这是什么?有什么作用?它与本篇文章有何转折亲关系?各位看官,且听我慢慢道来。
其实,这就是MS在Asp.net应用ViewState技术的特征表现。为了页面能在PostBack后依然能读取服务器控件原有的状态数 据,Asp.net中使用了ViewState技术,而ViewState技术本质上是用一个默认名称为"__VIEWSTATE的Hidden类型表单 域来保存和传递数据(这些数据是经过了序列化后Base64编码的字符串值,且是在方法 Page.SavePageStateToPersistenceMedium输出前保存、并由 Page.LoadPageStateFromPersistenceMedium加载)。虽然我们可以通过三种级别来轻松禁用掉这些数据的往返传递:
Machine级 在machine.config中设置<pages enableViewStateMac='false' />
Application级 在Web Applicatin的web.config中设置<pages enableViewStateMac='false' />
单页面级 在该页面中设置<%@Page enableViewStateMac='false' %>或通过代码设置Page.EnableViewStateMac = false;
可是,如果我们完全能通过禁用ViewState来解决数据传输负担而且不产生副作用的话,那MS的架构师们也不会傻到如此可爱的地步(可有可无的东东留 它何用?),正因我们往往不能通过简单的禁用来解决这个传输负担问题,所以我们只能另辟路径使之在网络往返中传输量尽可能地小,于是,压缩成了我们的首 选。只要我们重载Page类的SavePageStateToPersistenceMedium()方法与 LoadPageStateFromPersistenceMedium()方法,并在重载方法中对数据进行压缩与解压的处理即可。开源项目 SharpZipLib提供的类GZipInputStream与GZipOutputStream进入了我们的视野,为了方便,不妨写个类 CompressionHelper,代码如下:
1using System.IO;
2using ICSharpCode.SharpZipLib.GZip;
3
4namespace Ycweb.Components
5{
6 /**//// <summary>
7 /// Summary description for CompressionHelper.
8 /// </summary>
9 public class CompressionHelper
10 {
11 public CompressionHelper()
12 {
13 //
14 // TODO: Add constructor logic here
15 //
16 }
17
18 /**//// <summary>
19 /// 压缩数据
20 /// </summary>
21 /// <param name="data">待压缩的字节数组</param>
22 /// <returns>压缩后的字节数组</returns>
23 public static byte[] CompressByte(byte[] data)
24 {
25 MemoryStream ms = new MemoryStream();
26 Stream s=new GZipOutputStream(ms);
27 s.Write( data, 0, data.Length );
28 s.Close();
29 return ms.ToArray();
30 }
31
32 /**//// <summary>
33 /// 解压数据
34 /// </summary>
35 /// <param name="data">待解压的字节数组</param>
36 /// <returns>解压出的字节数组</returns>
37 public static byte[] DeCompressByte(byte[] data)
38 {
39 byte[] writeData = new byte[2048];
40 MemoryStream ms= new MemoryStream( data );
41 Stream sm = new GZipInputStream(ms) as Stream;
42 MemoryStream outStream = new MemoryStream();
43 while (true)
44 {
45 int size = sm.Read(writeData,0, writeData.Length );
46 if (size >0)
47 {
48 outStream.Write(writeData,0,size);
49 }
50 else
51 {
52 break;
53 }
54 }
55 sm.Close();
56 byte[] outArr = outStream.ToArray();
57 outStream.Close();
58 return outArr;
59 }
60 }
61} 然后我们在派生于类Page的页面控制基类中重载方法LoadPageStateFromPersistenceMedium()与 SavePageStateToPersistenceMedium(Object viewState),代码如下:
1Load & Save ViewState Data#region Load & Save ViewState Data
2 protected override object LoadPageStateFromPersistenceMedium()
3 {
4//从自己注册的隐藏域__SmartViewState中读取数据
5 string viewState = Request.Form["__SmartViewState"];
6 byte[] bytes = Convert.FromBase64String(viewState);
7 //调用上面提供的静态方法CompressionHelper.DeCompressByte()来解压数据
8 bytes = CompressionHelper.DeCompressByte(bytes);
9 LosFormatter formatter = new LosFormatter();
10 return formatter.Deserialize(Convert.ToBase64String(bytes));
11
12 }
13
14 protected override void SavePageStateToPersistenceMedium(Object viewState)
15 {
16 LosFormatter formatter = new LosFormatter();
17 StringWriter writer = new StringWriter();
18 formatter.Serialize(writer, viewState);
19 string viewStateString = writer.ToString();
20 byte[] bytes = Convert.FromBase64String(viewStateString);
21 //调用上面提供的静态方法CompressionHelper.CompressByte()来压缩数据
22 bytes = CompressionHelper.CompressByte(bytes);
23
24 //注册一个新的隐藏域__SmartViewState,你也可以自己定义
25 this.RegisterHiddenField("__SmartViewState", Convert.ToBase64String(bytes));
26 }
27#endregion
经过以上处理,web输出页面中的源代码就是型如:
<input type="hidden" name="__SmartViewState" value="H4sIAPtPoNwA/81ce1PbWJb/ ……
<input type="hidden" name="__VIEWSTATE" value="" />
原来的隐藏域"__VIEWSTATE"值为空,而取而代之的是我们自己注册的新的隐藏域"__SmartViewState"来存储了经过压缩后的字符 串,这样以来,提速效果是明显的,结合我们的项目,象DG3G.COM的首页原ViewState串值大约是28K,压缩后为7K,而Acafa.com 的首页原ViewState串值大约是43K,压缩后为8K。这样的处理还是比较令人满意的。当然,如果你觉得还不够彻底,你还可以把ViewState 串存储在Session中,不过这样做,对服务器内存的压力将陡增(尤其是访问量较大的时候),建议还是不要轻易使用,如果你Web服务器内存有个 10G、8G的,不妨试试。下面给出相关修改代码:
将上述LoadPageStateFromPersistenceMedium()方法体中的代码:
string viewState = Request.Form["__SmartViewState"];
修改为:
string viewState = Session["__SmartViewState"].ToString();
同时,将上述SavePageStateToPersistenceMedium()体中的代码:
this.RegisterHiddenField("__SmartViewState", Convert.ToBase64String(bytes));
修改为:
Session["__SmartViewState"] = Convert.ToBase64String(bytes);
[/CODE]
zzxap 2009-10-28
  • 打赏
  • 举报
回复
[code=C#]
如果你有一个非常酷的页面,页面上很多东西自动地响应用户操作而展现丰富的变化,你的ViewState是很有可能达到200K的。

这里是我将ViewState持久化保持在服务器端的代码,这样ViewState不占用网络带宽,因此其存取只是服务器的磁盘读取时间。并且它很小,可以说是磁盘随便转一圈就能同时读取好多ViewState,因此可以说“不占时间”。为了再“不占磁盘时间”,我还使用了缓存。


一下这段代码可以放在页面中,或者页面的父类中:
protected override object LoadPageStateFromPersistenceMedium()
{
var viewStateID = (string)((Pair)base.LoadPageStateFromPersistenceMedium()).Second;
var stateObject = Cache[viewStateID];
if (stateObject != null)
return stateObject;

var fn = this.Server.MapPath("~/App_Data/ViewState/" + viewStateID);
var stateStr = File.ReadAllText(fn);
return new ObjectStateFormatter().Deserialize(stateStr);
}

protected override void SavePageStateToPersistenceMedium(object state)
{ var viewStateID = (DateTime.Now.Ticks + this.GetHashCode()).ToString(); //产生离散的id号码
Cache.Insert(viewStateID, state);
var value = new ObjectStateFormatter().Serialize(state);

var fn = this.Server.MapPath("~/App_Data/ViewState/" + viewStateID);
ThreadPool.QueueUserWorkItem(obj => File.WriteAllText(fn, value));
base.SavePageStateToPersistenceMedium(viewStateID);
}
[/CODE]

不使用Session,因为它会“丢失”。ViewState保存在磁盘上,即使服务器重新启动,也不会丢失页面状态。

下面这段可以放在Global.asax中,也可以根本不管:



protected void Application_Start(object sender, EventArgs e)
{
var dir = new DirectoryInfo(this.Server.MapPath("~/App_Data/ViewState/"));
if (!dir.Exists)
dir.Create();
else
{
var nt = DateTime.Now.AddHours(-1);
dir.GetFiles().ForEach(f =>
{
if (f.CreationTime < nt)
f.Delete();
});
}
}
这可以确保绝对稳定可靠地工作。以后请放心使用ViewState,把交互式页面提高水平才是最重要的,不要纠缠在“ViewState太大”上。实际上,由于页面设计不够酷,交互变化看上去不够丰富,ViewState实在是太小太小了。

如果你使用了它有效提高了复杂交互页面的效率,可以说一下提高了多少?!如果你觉得没用,也可以说一下在什么情况下没用。
imshi 2009-10-28
  • 打赏
  • 举报
回复
禁用视图状态是有必要的,尤其是用于网站,使用虚拟主机的就更应该禁用它了.
视图状态不仅消耗网络带宽,还消耗CPU资源,访问量大的时候性能下降是非常明显的.
Dobzhansky 2009-10-28
  • 打赏
  • 举报
回复
需要折中考虑, 视图状态便利性和页面体积博弈.
视图状态只是一个机制, 用不用, 怎么用,
不曾深入知道.
SK_Aqi 2009-10-28
  • 打赏
  • 举报
回复
设置页面EnableViewState="false"就可以了
当然是如果页面不想使用viewstate的情况下
chenyunkun2008 2009-10-28
  • 打赏
  • 举报
回复
学习了,
射天狼 2009-10-28
  • 打赏
  • 举报
回复
另外,还可以通过IIS,设置站点的压缩选项,将页面压缩。以增加速度
射天狼 2009-10-28
  • 打赏
  • 举报
回复
对于不需要保存状态的控件,可以将EnableVIewState属性设置为false
yzlxy 2009-10-28
  • 打赏
  • 举报
回复
不需要的ViewState可以关掉,比如GridView等大型控件的
tianmachi 2009-10-28
  • 打赏
  • 举报
回复
网站打开速度非常慢,我怀疑是不是跟这个有点关系呢,我在网上查了一下,说是可以转到服务器上,或者放到网页后面,但是我是.net菜鸟,不会操作,谁会的能帮我处理一下么?积分或者付费都可以。
flyerwing 2009-10-28
  • 打赏
  • 举报
回复
配置不启用VIEWSTATE
阿云ivan 2009-10-28
  • 打赏
  • 举报
回复
viewstate长了肯定影响速度
但上面的不算很长,还在可接受范围

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧