山那边是海 发表于 2015-1-16 14:24:28

NET网页编程之ASP.NET HttpApplication 属性 Application(HttpApplicationState)详解

我见过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(读写)
Application["Count"]=11;

//经由过程索引猎取单个HttpApplicationState工具。Item(只读)
objectobj=Application;

//猎取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效果。现在就不知道如何是好了。

老尸 发表于 2015-1-18 14:01:17

ASP.net的服务器,要求安装一个.net环境,当然我这里指的是windows系统,顺便点一下,.net只能放在windows环境里来运行。Asp.net1.1的就装Framework1.1,Asp.net2.0的就装Framework2.0。

冷月葬花魂 发表于 2015-1-25 22:26:32

市场决定一切,我个人从经历上觉得两者至少在很长时间内还是要共存下去,包括C和C++,至少从找工作就看得出来,总不可能大家都像所谓的时尚一样,追捧一门语言并应用它。

飘灵儿 发表于 2015-2-4 10:34:17

它可通过内置的组件实现更强大的功能,如使用A-DO可以轻松地访问数据库。

乐观 发表于 2015-2-9 22:11:13

主流网站开发语言之PHP:PHP的全名非常有趣,它是一个巢状的缩写名称——“PHP:HypertextPreprocessor”,打开缩写还是缩写。PHP是一种HTML内嵌式的语言(就像上面讲的ASP那样)。而PHP独特的语法混合了C,Java,Perl以及PHP式的新语法。它可以比CGI或者Perl更快速地执行动态网页。

谁可相欹 发表于 2015-2-28 00:24:49

当然我们在选择Asp.net主机是,除了要考虑服务提供商在版本是否是实时更新以外,机房的环境和配置也是非常重要的,通常选择骨干网的机房,在速度和稳定性上会非常有保证。

金色的骷髅 发表于 2015-3-9 17:46:49

最强的技术支持WebService,而且有.NET的所有library做后盾。而且ASP.NET在.NET3.5中还有微软专门为AJAX开发的功能--ASP.NETAJAX。

活着的死人 发表于 2015-3-17 01:08:57

JSP/Servlet虽然在国内目前的应用并不广泛,但是其前途不可限量。

海妖 发表于 2015-3-23 13:08:53

是指转换后的Servlet程序代码的行数。这给调试代码带来一定困难。所以,在排除错误时,可以采取分段排除的方法(在可能出错的代码前后输出一些字符串,用字符串是否被输出来确定代码段从哪里开始出错)。
页: [1]
查看完整版本: NET网页编程之ASP.NET HttpApplication 属性 Application(HttpApplicationState)详解