[Asp.Net]状态管理(Session、Application、Cache、Cookie 、Viewstate、隐藏域 、查询字符串)

8/10/2015来源:ASP.NET技巧人气:2278

[asp.net]状态管理(sessionapplication、Cache、Cookie 、Viewstate、隐藏域 、查询字符串)
  1. Session:1. 客户在服务器上第一次打开Asp.Net页面时,会话就开始了。当客户在20分钟之内没有访问服务器,会话结束,销毁session。(当然也可以在Web.config中设置缓存时间)可以在Global.aspx的Session_Start()事件处理程序中,可以初始化会话变量。在下面的实例中,名为mydata的会话状态被初始化为0:

运行结果:

2.Session是保存在服务器端的用户变量。我可以在一个页面中对Session进行值,然后在另一个页面里访问它。

Session的附值方法如下:

2.Application

解释:如果数据应在多个客户端共享,就可以使用应用程序状态来保存。应用程序状态的使用方式跟Session非常相似。对于应用程序状态,应使用HttpApplication类,通过Page类的Application属性就可以访问它。

通常Application可以用来统计访问网站的人数,在启动Web应用程序时,初始化应用程序变量userCount。 Application_Start()是global.asax文件中的时间处理程序方法,在启动网站的第一个Asp.Net页面时调用该方法。

在Application_Start()事件处理程序中,应用程序变量userCount的值会递增。在改变应用程序变量之前,应用程序对象必须用Lock() 方法锁定,否则会出现线程问题,因为多个用户可以同时访问一个应用程序变量。在改变了应用程序变量的值后,还必须调用Unlock()方法。注意锁定和解 锁时间的时间比较短,在此时间段内,不应读文件或数据库中的数据。否则,其他用户就必须等到数据访问完成之后才能操作。

运行结果:

注意:不要在应用程序状态中存储太多的数据,因为应用程序状态需要服务器资源,直到服务器停止或重启之后,才会释放这些资源。

3.Cache

使用Cache类的优点是当缓存的数据发生变化时,Cache类会让数据失效,并实现缓存数据的重新添加,然后通知应用程序,报告缓存的及时更新。

1.常用的方法

创建cache    在DotNet环境下通过Cache.Insert(string key,object o)方法创建。其中key 代表cache的ID,o代表存到cache里的对象。 Add:将数据添加到Cache对象 Insert:向Cache中插入数据项,可用于修改已经存在的数据缓存项   销毁cache   通过方法Cache.Remove(string key)其中key 代表cache的 ID.   调用cache    Cache支持装箱/拆箱操作。如你可以把一个DataSet对象ds通过Cache.Insert(“dsCache”,ds)的方式存到Cache中,可以通过拆箱操作 DataSet ds =(DataSet)Cache[“dsCache”]来访问它。  获取数据Get:从Cache对象中获取指定的数据项,注意返回的是Object类型,需要进行类型转换GetType:从Cache对象中获取数据项的类型,判断数据类型后,方便进行转换GetEnumerator循环访问Cache对象中的缓存数据项。注意其返回类型是“IDictionaryEnumerator”下面的代码演示了如何应用Cache类的这些方法。在使用本代码时需要注意,代码中使用了Arraylist对象,所以需要添加对命名空间“System.Collections”的引用,同时使用Cache类别忘记了添加命名空间

ip/pUChCEARBfmMoFCEIgiC/sd9XKJJKYX7+5x2iUoFE8twWoRCWl5/botPPRCKRWCyemZl57bYpFAqxWCwUCrVa7avsL5fLxWKxTqfTb6mQQsrKylrXKhAIQKF47iil8mdfgV9CJBItb7hYr0yp0c7LlaIVhXBFrn61a/JSWp1OodG89uEvyszMrK6u3sQTIgjya9ucUCSXw/DwK+05MwM/Eg4yMmDbto2h5ceNjEB8/HNbrKzg7NnntshkslOnTn366acmJiadnZ0/4+zrDA4O7ty589tvv51/tVjR1dW1Y8cOIpGIrba2trq5uc3Nzel3UCjgu+/Aze25o5hMSEz86ZOLRMDlvnrbf5Cdnd2JEyde71j6rOR4Jt66tNP8WWtyN/NnHTu1sLyoUGHL3PnlkJb+12vDS83Nzbm6ura3t2/iOREE+VVtTijicsHI6JX2jI2F2Ngf2+HMGeBwfmljzpzZuLG4uNjFxQUAvvnmm1fs1rwIh8NlZGS8+v43b94sKyvDlg0MDKampjbsUFEBN268TkuKisDF5XUO3GB2dvbUqVOvfXhI60DDyHRW32jj6PTPOtC/iUqcEmDLgmXFt49qqTPi127GiyYmJgwMDDbxhAiC/Kp+MBSNj4OxMRgbg6srqFSQkADXr0NlJZiZAZcLGg2kpoKFBaysAADgcPCXv0BhIQCAWg0lJWBtDUIhAIBMBnZ2cPo0EAiwsAA7dsCOHYD9JqtU4OYGUVGgVoNOBz09YG4OH364eqBeRAQYGUFFBcTEgK0taDQQFQXW1qBSAQBcvw6hoat7ajSQkQEGBnDy5MaP09LSsnXr1osXL1ZXV+t0uvn5eVtb29TUVI1Go9Fo8Hi8tbW1gYFBQkKCSqXy8PCIiIhQqVQbTuLp6ZmdnY0t63S64eFhMzOz5uZmAJDJZAkJCfb29kqlEgBmZmYuXLjwwQcftLW1YfsbGhpOTk4CgFQKZmbw6BFotdDRAe+/D+fPw/Q0dk64dg2io1c/S0cHWFvDyMjqVfXzAyMjyM8HAPjuO/jHP6D/hb6EWq2+evWqtbW1paXl9PS0Wq1OTU29deuWSqXKyso6e/asmZlZSUmJVqvVarW5ubmnT58+cuQIACwtLVlbWz958kStVltaWt67dy8+Pt7W1vaH/ntg4jrou+9XXSvuAID7PUMXnrURuLMPSMPhbTSNVpfZNxJDoKu12qf9YzalnTfLu7omBFqdrm9GvOt+lVNVj0anA4As6ohHHRnrVzlX95QyJx6QhqLaBwFgQa6KJtDtKrs96sgDfIlLdY9XPSWKMLihGVqtlkQiWVtbM5lM7O8MLpdraGj4441HEOT34wdDkUwGVlbg5wfl5eDuDhMT8P/+H+BwMDAAMhlkZ4OPDzQ3r/5R39wMhw7B7CwAQEMDnDwJ4eGA3fixswM8HoKC4OlTUKsBhwMcbvUBiacn4HBw/jzExYFEAhcuwMAAHD0KPN5zLSES4dNPYXgYLCygrQ3S0iA8HMrKwNkZACA3F/R/1j99Cl5eQCBsvEEHAFVVVWZmZjQaDVu9f/9+cHCwubl5Xl4en893dXWNjo4+ceLExMSEn5+fs7PzhQsXgoODN5zEw8ND/7BnZWXF3Nx8YGDg8uXLbDa7ubnZzc3Ny8vLyckJAC5evEij0SwsLGpra7H9jYyMJicnAMDKCggEcHeHqiogEuH8eaDRwNIS1GoAgIyM1f4lgwFHjkB0NOzfDzod+PtDdjakpa0GqpgYsLSExcWNH3NpacnQ0DAsLIxAIKjV6oyMDHNzcy8vrytXrszMzHz55ZdUKtXOzq67uxuPx+NwuJ6enjNnzgCAlZVVYGDgiRMnysrKKisr//znP+fk5DAYjB/674GJIgxGtNFSe4YAgMwTGuY0Tcwvu9aQBmcl+bRxzzpKYFN/WNsAf0l2LreZKZi/3dBH40sWFSr7SmIxg4s9RrOr7Papp7jVkpUabd7A+Bf3KhpGpzmSJQDIHRh7QBpyqup52j82JFy4Udb1gDQ0sbDx4dbo6OiRI0eio6O//vpr7BYoh8MxesV+OoIgvwM/doMuPByKi4HLBWNjAABDQ9A/XY6JgchI0Gjg8GEAgPFxOH169aWyMti6Ffz8ICEBAODYMRgf//6cERHfPwsxMwNTU/Dygo4O4HAAu6FiagrrnqcAAMjlkJgIBw9CejoAgLc3ZGYCn78agYaG4NKl1T3j4yEkZPUkG9TU1OBwOP1qQUHBnTt3Dh48mJWVJZVKw8PD/fz85HI5AFhYWBgbG3t5eTU1NW04iY+PT35+PgBQqdSGhoZjx44BgImJCYVCIZFI3t7et27dsrCwAID9+/cDgJubW319PXbs0aNHhUIBAHz7LQBAYCBkZ0NnJ7i6AgDs3w9KJQBAT8/qx+nvh7/9Dfz8ICgIAODSJWho+L4leXmw7tM8Z2Vlxc/PLzY2dn5+Pjk5edeuXb6+vpmZmQBw7tw5ALC3t+/u7i4oKPD29gYAY2NjrME3btzw8PBgs9n9/f3Xr19/+dmfF9FOo86IF+RKyrRoRaV+Qh01zWupGpoEgMROhll+S0QbDT8yDQC4mh4A8K6nDPAlAOCD7+1buyN3rbjDs458PBPPEiwM8CXR6zo9LWP84Jb+Du4stjoqXgxtHahiTW4YJTE0NPTXv/7Vz8/P398f+xL5fP7Ro0df5SMgCPJ78GOhKDkZvvkGbt4EEgnS0uDtt+Hu3dWXRkbAzQ1MTaGlBQBgaQlSU+HCBRgchIkJCA8HBweIiwMAaG+HixfB0hK6uwEAWCywswMbGwAAEgmcnMDBAVpaYH4eUlLgwgV45x3w9d3Yks5O2LNntbfEYIC9PVhYADYgwNoa3nsP8HgAgNFR8PUFY2N4911Ye0YDACCXy0+dOvXhhx/29vZiW+rq6lxdXb/55pv9+/fX19e/++67Xl5efn5+y8vLJBLJ2dnZwcFhQyjicDiffPLJnj17sDtv2dnZ1dXVFy5ciI2NXV5eHhwc9PLyunTp0pYtW9ra2hobGy9durRt2zZDQ0OFQgEAxcXFAQEBcrm8sRFMTMDTEyYnoacHPvwQLC2hpGT1XUgkMDMDABAKISUFHBzgzh1Qq4FCAWtruHAByssBACYmwNcXLlwAqfS5C6XVat3d3R0cHP72t78xGIyRkZHbt287ODgUFRUVFha+/fbbaWlpPj4+R44cmZ6eDgwMNDU1feedd4qLi7u6uuzs7BwdHSkUyuXLl7du3aofcHH37t2Xdo+YgvlDj+usSzuNnjZh99O6JwWmeS3CFTkADAsX4jsZuBpSO2e2iM7dcbesemgqqLnfsZIIAIOz8661pKcDY3Xs6aMZeAB4SB42yWu5WtxxLBM/LFr9VJeL2nE1pKDmfvrs/Lxc6dfQ64fvPZPTuCEUSSSS+/fvOzg4+Pj4KBQKuVzu7+9for+mCIL87v1gKFpaAktLOHoU+voAAMbHgcV6rn8zOwtrP+wAAFotkEirv4wLC0Aigf7ni04HEglEotXV6envDxweBhJp9c6eRgMkErBYwGZvbMzy8nM3oyYnYWBgdZnFAibz+46UUAhkMrBYq09fMBqNhk6nMxiM9YPfBgcHaTQanU7v6ekxNDSMjo728PCIjo4GADabTSKR+Hx+X19f65r29nY6nT4wMEAikQYHB7EnSSQSSbE2HHtmZqa3t5fJZAqFQgAgk8kMBoPBYOhHSWRmZj569AgAyGQQCAAAFApgMIBMxg6H1la4fx+8vVdbqFQCiQT9/YANCB8dBRLp+88lkQCJBBueZ+l0OqyFTCYTa+Hs7CyJROJyuTwej8VicTgciURCpVIBYH5+nkwms1is6elpAKDRaCQSSSwWDw8PMxgMsVgMAJOTk0ZGRj09PRu/EoBFhWpYKGUJFuhz89hwuGWlWq7+flg2f0lGmRbNLsn4izKWYIG/KJuXK9lrYWZMvDi5sDy7JBuXLAGAVKEanJ1nCRaGhdIl5eqnimijRbUP3uthBTZTx8SLtFnJAF/Ck6682Bi1Wk0ikfr6+jQaTXp6+vpB8wiC/P79YCjicuHqVbC1XR2Y8MdGIpHs7Oz8/PwUz0/zCQ0NvbIGi1K/kBp7IvQyLS1w5Qr4+PzyN9lMNTU1eKzL+VvQaHWJXQyPutXbeq/oRy4ygiC/T68ymFv34lgyBEEQBNksPxGK1Gr1N998ExUV9e9pDYIgCPIf6CdCkVQqPXjwoORn5T9AEARBkJ/jJ0KRWCw2MjLCpm0iCIIgyK/hJ0JRZGRkTk7Oa2fKQRAEQZCf9BOhaHp62szMbMO4MgRBEATZRD8RihYXF0+fPq3Z1Bz+CIIgCLLeTw9b2LVr19jY2L+nNQiCIMh/oJ8IRRqNxszMLAFLJ4cgCIIgv4LfVxVXBEEQ5D8QCkXIjxGLxVgyuh+h0+nEsu/3kcglKo0KAHiLPI8GD6ni+4ytYYQw8jSZM8/hL/GVGiV3gRvQGlDEKJqcn5Sr5QCwrFwWy8RBbUFDwiGJXBLUFjQm+f7mcN5gXg4tBwD4S/xxyfjE/MSScgkAlBqlcEWYSExsHm8Wy8TJpOSm8e9T2XZMdMR1xwGASCYal4xjBy6rXrOMOoIgv4ZfJRRNLixj6Zlfj2hF0Tg63caZVWpWB5ELluX0uVcq4/1HMrskm35Z6s9XtKxUN4/NNI/NLK5lF11Uqn5WsdRHjx6lp6c/fPjwR2rXrqhW7pHuZVIzsdVRySiuDje7PMud5+LqcWm9aa71roIVgUqrYovYV8uvPqU9vVZ+bevdrW3cNje823sJ7x3LOWbw2CCpJwkAmEJm3WidbZVtBbuifLjcvMicK10tnC5Ty+yq7epG6vhL/A+TPzyXf+7IoyNXy68CgFQhLRkq8WzwzOjPKGWV2lXblQ+X61vYMNbgVOsEAHsf7bUps7lRecMo28i+2v5nXUwEQX5Vv0ooimofrGBNvvbhU9KVo5n1tyq6V1SrI/cmF5Z/qGS1eEXRPD7z2u/1e5ZF