|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
我见过java运行在手机上,包括很廉价的山寨手机,但是却暂时没发现.net在手机上有什么作为。wp7可能是个转机,但是按照《Java的跨平台就是一句谎言。那.net的跨平台也当之无愧是一句谎言。·MSDN:启用ASP.NET使用程序中多个会话和哀求之间的全局信息共享。
·范例:System.Web.HttpApplicationState:NameObjectCollectionBase(汇合)
·使用程序形态是可供ASP.NET使用程序中的一切类利用的数据贮存库。它存储在服务器的内存中,因而与在数据库中存储和检索信息比拟,它的实行速率更快。与特定于单个用户会话的会话形态分歧,使用程序形态使用于一切的用户和会话。因而,使用程序形态十分合适存储那些数目少、不随用户的变更而变更的经常使用数据。
·使用程序形态存储在HttpApplicationState类中,该类是用户初次会见使用程序中的任何URL资本时创立的一个新实例。HttpApplicationState类经由过程Application属性公然。使用程序形态将数据存储为Object数据范例。因而,在检索该数据时,必需将其从头转换为得当的范例。
·使用程序确当前形态由一个使用程序局限内工具的键/值对字典构成,可将其用于存储与来自多个客户真个多个Web哀求相干的.NETFramework工具和标量值。ASP.NET使用程序是单个Web服务器上的某个假造目次及其子目次局限内的一切文件、页、处置程序、模块和代码的总和。HttpApplicationState类的单个实例在客户端第一次从某个特定的ASP.NET使用程序假造目次中哀求任何URL资本时创立。关于Web服务器上的每一个ASP.NET使用程序都要创立一个独自的实例。然后经由过程外部Application工具公然对每一个实例的援用。
·注:因为使用程序形态存储在服务器的内存中,因而使用程序形态中的大批数据可疾速添补服务器内存。假如从头启动使用程序,使用程序形态数据便会丧失。使用程序形态不在收集场(使用程序被多台服务器承载)或收集园(使用程序被统一台盘算机上的多个历程承载)中共享。最初还请注重,使用程序形态接纳自在线程形式,因而存储在使用程序形态中的任何数据必需具有内置的同步撑持。
经常使用办法和属性:
注重:
·索引体例不保举利用,1:只读,2:很简单空指针和数组越界。
·工具名体例:工具名存在时,值会掩盖,工具名不存在时前往null,不会抛非常。
·保留和更新操纵记得加锁,完过后记得解锁。
经常使用办法:
//将新的工具增加到HttpApplicationState汇合中(工具名-值)。
Application.Add("Count",5);
//更新HttpApplicationState汇合中的工具值。
Application.Set("Count",55);
//经由过程称号猎取HttpApplicationState工具。
Application.Get("Count");
//经由过程索引猎取HttpApplicationState工具名。
Application.Get(0);
Application.GetKey(0);
//从HttpApplicationState汇合中移除定名工具。
Application.Remove("Count");
//按索引从汇合中移除一个HttpApplicationState工具。
Application.RemoveAt(0);
//从HttpApplicationState汇合中移除一切工具。
Application.RemoveAll();
Application.Clear();
经常使用属性:
//经由过程称号猎取单个HttpApplicationState工具的值。Item[Int32](读写)
Application["Count"]=11;
//经由过程索引猎取单个HttpApplicationState工具。Item[String](只读)
objectobj=Application[0];
//猎取HttpApplicationState汇合中的工具数。默许为0;
intcount=Application.Count;
//猎取HttpApplicationState汇合中的会见键。工具名的字符串数组。
string[]keys=Application.AllKeys;
//猎取对HttpApplicationState工具的援用。该属性供应与初期版本的ASP之间的兼容性。
HttpApplicationStateAppState=Application.Contents;
注重:保留使用程序形态中的值:用锁定办法将值写进使用程序形态:使用程序形态变量能够同时被多个线程会见。因而,为了避免发生有效数据,在设置值前,必需锁定使用程序形态,只供一个线程写进。除非设置了其他范例的锁,不然就应当一直在lock语句中修正使用程序形态数据。
//锁定对HttpApplicationState变量的会见以增进会见同步。
Application.Lock();
//更新工具值
Application["Count"]=((int)Application["Count"])+1;
//作废锁定对HttpApplicationState变量的会见以增进会见同步。
Application.UnLock();
感觉很多控件都必须自己去写代码;用了WebMatrix感觉也不是很好,毕竟没有很强的WYSIWYG效果。现在就不知道如何是好了。 |
|