操作系统  办公  实用知识  设计  开发  WEB开发  移动开发  数据库  软件工程  网管  安全  管理  信息化  答疑  渠道 

ASP.NET升级能力探讨

2007-10-30 网友评论 0 条 点击进入论坛

  br>   Scalability 总是与我的最后一个话题 performance 缠绕在一起,但事实上,它们是完全不同的两个问题。在Performance 一节里,我已谈及了 caching, 它是scalability 最大的改进之一,因此,我(作者)在想,我还得找些其它一些内容在这节里讨论。

  首先,此系统建成,本身有着一定的特性,以改进多处理器和串环境中的性能。例如,session state 能够通过单独的处理器来维持,在一个单独的机器上,甚至在数据库中允许交叉的服务器sessions。通过这样,即使在开发过程中你没有想过会快速增加的流量,也可以相对容易的增加更多的网络服务器。

  这儿同样有一些被称作“web花园”的东西,我也不太完全了解。但是,它们可以帮助多处理器的机器,帮助它们做比单处理器更多的工作。我认为它是个非常新奇的想法,但是,也有人认为他们不会使用这项功能。

  因此,你已经拥有了建立一个完善的web农场的工具,但是如何使它们不停的运作呢?当然,ASP。NET runtime会监控并管理进程。当有漏洞或者是死锁时,runtime会自动关闭,但是只需等待,它会恢复。在老版本关闭之前,一个新的版本会在老版本的位置启动以覆盖老版本。Runtime然后会引导新的指令至新的工作进程并排斥老指令然后关闭。因为有了替换,最后用户是不会发现任何改动的。

  在介绍这么多ASP.NET 的高性能后,下面我将介绍几个例子。

  先举一个c#的例子

  验证用户表单输入

  运行环境:Win2000 Advance Server+IIS5.0+NGWS SDK(80M的).

  $#@60;%@ Page Language="C#" %$#@62;

  $#@60;html$#@62;

  $#@60;script language="javascript"$#@62;

  function ClientValidateEmail(source, value)

  {

  var strr;

  re=/(w+@w+.w+)(.w*)(.w*)/i;

  re.exec(value);

  if (RegExp.!=""&&RegExp.!="."&&RegExp.!=".") strr=RegExp.+RegExp.+RegExp.

  else

  if (RegExp.!=""&&RegExp.!=".") strr=RegExp.+RegExp.

  else strr=RegExp.

  if (strr!=value)

  return false;

  else

  return true;

  }

  $#@60;/script$#@62;

  $#@60;body$#@62;

  $#@60;h3$#@62;ASP.NET验证用户输入$#@60;/h3$#@62;

  $#@60;form method=post runat= ver$#@62;

  $#@60;hr width=600 size=1 noshade$#@62;

  $#@60;table$#@62;

  $#@60;tr$#@62;

  $#@60;td$#@62;

  $#@60;asp:ValidationSummary ID="valSum" runat="server"

  HeaderText="你必须输入下面这些表单域:"

  DisplayMode="bulletlist"

  Font-Name="宋体"

  Font-Size="12"

  /$#@62;

  $#@60;/td$#@62;

  $#@60;/tr$#@62;

  $#@60;/table$#@62;

  $#@60;center$#@62;

  $#@60;p$#@62;

  $#@60;!-- 登陆信息 --$#@62;

  $#@60;table border=0 width=600 $#@62;

  $#@60;tr$#@62;$#@60;td colspan=3$#@62;

  $#@60;table border=0 cellpadding=0 cellspacing=0 width="100%"$#@62;

  $#@60;tr$#@62;$#@60;td$#@62;

  $#@60;b$#@62;登陆信息$#@60;/b$#@62;

  $#@60;/td$#@62;$#@60;/tr$#@62;

  $#@60;/table$#@62;

  $#@60;/td$#@62;$#@60;/tr$#@62;

  $#@60;tr$#@62;

  $#@60;td align=right$#@62;

  Email地址:

  $#@60;/td$#@62;

  $#@60;td$#@62;

  $#@60;asp:TextBox id=email width=200px maxlength=60 runat=server /$#@62;

  $#@60;/td$#@62;

  $#@60;td$#@62;

  $#@60;asp:RequiredFieldValidator id="emailReqVal"

  ControlToValidate="email"

  ErrorMessage="Email地址"

  Display="Dynamic"

  Font-Name="宋体"

  Font-Size="12"

  runat=server$#@62;

  *

  $#@60;/asp:RequiredFieldValidator$#@62;

  $#@60;asp:CustomValidator id="emailRegexVal" runat="server"

  ControlToValidate="email"

  ClientValidationFunction="ClientValidateEmail"

  Display="Static"

  Font-Name="宋体"

  Font-Size="12"$#@62;

  非法Email地址

  $#@60;/asp:CustomValidator$#@62;

  $#@60;/td$#@62;

  $#@60;/tr$#@62;

  $#@60;tr$#@62;

  $#@60;td align=right$#@62;

  密码:

  $#@60;/td$#@62;

  $#@60;td$#@62;

  $#@60;asp:TextBox id=passwd TextMode="Password" maxlength=20 runat=server/$#@62;

  $#@60;/td$#@62;

  $#@60;td$#@62;

  $#@60;asp:RequiredFieldValidator id="passwdReqVal"

  ControlToValidate="passwd"

  ErrorMessage="用户密码"

  Display="Dynamic"

  Font-Name="宋体" Font-Size="12"

  runat=server$#@62;

  *

  $#@60;/asp:RequiredFieldValidator$#@62;

  $#@60;asp:RegularExpressionValidator id="passwdRegexBal"

  ControlToValidate="passwd"

  ValidationExpression=".*[!@#$%^&*+;:].*"

  Display="Static"

  Font-Name="宋体" Font-Size="12"

  Width="100%" runat=server$#@62;

  密码必须包含如下字符: (!@#$%^&*+;:)

  $#@60;/asp:RegularExpressionValidator$#@62;

  $#@60;/td$#@62;

  $#@60;/tr$#@62;

  $#@60;tr$#@62;

已有 0 位对此文章感兴趣的网友发布了看法    
我来评两句 用户名: 密码:
  匿名发表
今日推荐
技术文库(共有 45972 篇文章)
操作系统
办公软件
实用知识
网络管理
软件开发
WEB开发
软件工程
数据库
设计在线
信息安全
行业信息化
管理信息化
移动开发
重点推荐
电子杂志订阅
点击电子杂志名称查看样刊
输入E-mail地址即可订阅
E-mail