导航栏菜单

[登录]

备案域名交易

老域名购买,已备案域名出售,已备案过期域名查询,老域名注册,已备案域名抢注,老域名转让,万网已备案域名,九江网站建设

[置顶]老米吧严禁向诈骗等违法客户出售域名,国内在严打诈骗

[置顶]长期出售企业个人历史BA老域名,事业单位,社会团体历史BA老域名

[置顶]老米吧长期出售外链老域名、权重老域名、百度加V认证老域名

[置顶]老米吧长期出售各种过微信、过360不报毒的干净老域名!

[置顶]老米吧长期出售Godaddy老域名、Godaddy历史BA老域名!

[置顶]老米吧长期出售15年以上的老域名!各种历史BA建站老域名!

高速缓存与静态变量

暂时应用程序是由Cache(高速缓存)对象来控制的。Cache和Application的功能相似,因为它对于全部的web应用程序都是可访问的(共享的内存)。不过,Cache中增加了一些Application不具有的功能,包括相关、回调和超时。比如说,当启动ASP.NET应用程序的时候,我们必须从XML文件中生成一个由所有的ASP.NET页面使用的对象。我们可以把这个对象存储在Cache中,也可以为此在最初产生的数据的XML文件中创建一个相关性来保存它。如果XML文件发生了变化,ASP.NET将会发现文件的改变并且通知Cache使原来的条目无效。高速缓存是ASP.NET一个很强大的功能。但是我们使用时一定注意它和Application的区别。

Application管理应用程序

与主要作为用户的专用存储器的Session不同,Application是共享的应用程序存储器。这种共享的存储器非常有用,在所有用户共享了某些资源(如某个站点的购物目录的XML表达式)的情况下尤其如此。与Session相似,Application状态只是一个存储关键字或值对组合的Hashtable。另外一方面,与Session不同的是,Application不支持独立于ASP.NET进程之外的数据存储。因为它是在ASP.NET进程中存储数据的。如果ASP.NET进程循环了,那么Application数据就会丢失。实际上,在进程中存储数据要比到其他检索数据块,而且到其他进程的过程中可能会出现跨网络的情况。

移动控件表单

在ASP.NET页面中的所有移动控件放置在<mobile:form>表单中,每一个控件对应一个显示。目前显示的表单放置在页面的ActiveForm属性中,这样就可以编程方式改变显示——我们将经常在控件的事件处理程序中这样做。通过使用<mobile:form>表单生成的一个事件,可以得到一个简单的范例。它们创建两个事件,当激活或释放给定的表单时,就发生这些事件,并分别为OnActivate和OnDeactivate。可以在任何给定的表单上使用完全同名的属性向这些控件指派事件处理程序,并按照标准方式创建事件处理程序。因此,为了查看当前活动的表单的ID,可以使用代码(这些代码不是非常有用的,但是可以起到演示的目的)。

移动控件的发展

移动控件提供了低级移动应用程序设计的一种可行的替代方案。尽管对于传统的web设计员来说,它们有些难于使用,但是他们却具有强大的功能。然而,还有问题有待解决。首先,目前存在许多设备,它们配备多种浏览器,差别也很细微。即使是最好的开发小组也难于跟踪这种发展趋势。这意味着会不断地面临互用性问题。当考虑专用设备扩展时这个问题更为突出。为了最大化使用性,最可能做的就是扩展专用设备,这就导致即使在类似的设备之间也存在重大的代码区别。移动控件可以解决这个问题吗?从理论上来说可以。但是这要求开发人员做出极大的努力编写针对设备的代码。请注意,可扩展性架构已经到位,因此所有的工作都不会浪费!

创建和删除计数器的时间

计数器的创建和删除工作需要谨慎对待,因为它们实际上具有安装程序和卸载程序的特性。如果应用程序要求定制的计数器,则计数器应当在安装应用程序时创建,在卸载应用程序时删除。这种方法的一个问题是,如何使之与ASP.NET应用程序适合,在ASP.NET应用程序中使用全盘复制部署方法。解决这个问题的方法是:1、创建应用程序安装程序,这样就可以在正确的位置创建和删除计数器。2、创建单独的脚本或页面,以创建和删除计数器。3、检查在应用程序中是否存在计数器(也许是Application_OnStart事件),如果没有,则创建它们。如果卸载应用程序,这就留下了删除计数器的问题,以及性能问题,因为每次启动应用程序时都要检查它们。

网站计数器的生存期

重要的是将性能计数器值理解为值,而不是理解为条目——当将一个值写入性能计数器时,并不是在计数器中放置了永久的条目,如同将一个条目写入事件日志那样。性能计数器值是过渡性的,反映的是事件上的一点。当处理了引用特定系统计数器的最后一个PerformanceCounter组件时,计数器将自己重置为0。如果希望将值保留得比默认的计数器行为允许的更长一点的时间,则有几种方法可以管理性能计数器的生存期:1、可以在计数器驻留的服务器上运行Performance Monitor应用程序。只要Performance Monitor是打开的,就可以维护对计数器的引用,计数器值就可以继续累加。2、要确保总是有一个PerformanceCounter组件的实例连接到希望维护值的特定计数器上。3、可以编写保持对计数器引用的windows服务。

应用程序的迁移和重写

我们所认为的迁移就是通过最少量的代码变换,把应用程序的每一部分都移植到新的运行环境中。这是许多人所期待的目标,但要实现这一目标是要付出代价的。比如说,新的应用程序易于维护吗?是否想过添加代码使应用程序与ASP.NET保持一致,但结果却使代码甚至比以前更混乱?如果将来还需要更多工作的话,执行最少量工作的短期代价有可能更加昂贵。用户应该分析一下这种方法的代价,并将它与重写所需要的代价做一下比价,看看哪种方法才具有最好的长期效益。许多用户更倾向于选择重写。从零重新开始不仅有机会从新平台中得到最好的应用程序,还可以解决原来的应用程序中某些难以解决的问题。重写可以从.NET中获益最大,最后还有可能称为最廉价的解决方法。ASP.NET的程序员组之所以决定中断与ASP的兼容,有一个原因就是现在的用户使用网络越来越多,Microsoft希望新平台的支持时间能长一些。当然,重写方法有一个最大的问题,并不在于代码本身,而是对重写方法的学习。对于一种新的技术比如.NET,通常,培训和经验经常称为最大的障碍。

ASP.NET的执行原理

动态WEB程序均是以文本的方式保存在服务器的。JSP和ASP.NET以前的技术中,只有当服务器收到执行请求以后,服务器才会将这些程序的源代码交送编译器编译,而编译一次程序是需要时间的,如果每次请求都需要编译一次,花费在编译上面的时间将会很多,从而大大降低了程序执行的效率。如果程序只追求效率,那么直接将源代码编译成为最终代码的方法当然是最好。但是这样会带来了另外一种烦恼,编译后的程序修改起来很困难,而web程序却需要经常修改。如果web程序已经被编译成为机器代码,那么这种机器代码不是一般人所能看懂的。

编程组件是如何产生的

在编程发展的早期,当你创建了一个新的应用程序时,你也就创建了一个服务于该程序的包含了所有代码的可执行文件。随着程序变得越来越复杂,程序员们一直在寻求降低复杂性和减少撑血中代码数量的方法。程序员们慢慢发现,它们在大多数的时候都是在重复书写已经在众多的其他程序中写过的代码。因此程序员们开始创建包含这些常见代码块的代码库。这样,当他们创建一个新的应用程序时,这些代码库就可以被包含进来,称为这个应用程序执行过程的一部分。在组件技术未出现之前,应用程序开发员一直这样使用重复代码,于是几乎每个可执行文件都包括了同样的库代码。结果它们最终得到的是包含多个支持域的一些可执行文件,而这些支持域其实是在它们的计算机上多次出现的代码块的同意拷贝。

用类库进行封装组件

创建自己组件的另一个原因是为了封装。假设你在30个不同的页中使用了相同的代码块,这些代码可以用来从公司的数据库中检索出一些销售信息。你在30个地方使用了完全相同的代码,然后你发现需要修改检索的条件。若是这样的话,你需要在30个不同的地方逐一修改代码。相反,如果你把代码放在了组件中,你就只需要在一个特定的位置修改代码,然后重新编译这个组件,这样所有使用该组件的页将全部被更新。创建自己的组件的另一个原因是功能的封装。当采用了功能封装后,就可以在执行一个复杂且过长的任务时把冗长而复杂的代码放在一个可以单独调用的组件中。这会使代码更容易读且更容易修改。这项技术也可以使新手或开发者从过分复杂的任务中解脱出来。例如,你专攻使用Exchange Server的数据对象的协同使用,并且已掌握了在Exchange里操作文件夹的技巧。你就可以通过ASP应用程序为其他的开发者创建一个封装了这些功能的组件,这会使别人在使用标准的Exchange的任务不再那么复杂。
«444546474849505152535455565758»

Powered By 备案域名交易 .Theme By 备案域名 Copyright www.jxpxw.com.cn. Some Rights Reserved.

网站分类
搜索
最近发表
网站收藏
图标汇集
  • 订阅本站的 RSS 2.0 新闻聚合
Tags列表
友情链接