广

ASP.NET

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

    NET移植案例学习:建造Web站点(3)

    2018-04-03 22:12:40 次阅读 稿源:互联网
    广告
      将ASP代码移植到ASP .NET
      
        开发组希望在移植这个Web站点的过程中,能尽可能地少写代码,以减少产生漏洞的可能。在这部分,我将向你说明将ASP页面移植到ASP .NET最简单的方法是什么。但使用这种方法不能充分利用ASP .NET的新特点,只能建立一个能在ASP .NET下运行的站点。
      
        许多页面需要做三四个标准的修改后才能正确运行。最常见的修改是要删除Set关键字。.NET框架和底层的common language runtime (CLR)把任何东西都当作对象处理,所以删除了Set这个关键字。下面这段代码取自原先的站点:
      
      'create the feedback object
      set oFeedback = Server.CreateObject("BetaSiteMgr.Feedback")
      
        应该改为 :
      
      'create the feedback object  
      oFeedback = Server.CreateObject("BetaSiteMgr.Feedback")  
      
        另一个常见的改动是,在ASP页中引用一个对象时,要明确指定这个对象的默认属性。CLR和ASP .NET不再支持不传递参数的默认属性。不幸的是,尽管明确指定属性的值可以增加代码的可读性和可持续性,许多开发者更愿意利用默认属性的特点而不打出值。在这个Web站点中,当需要使用ADO记录时,默认属性经常被使用。原来的ASP代码像这样:
      
      'set rs fields
      
      
      rsLameError("BetaID") = Request.Form("betaid")
      rsLameError("UserDescription") = Request.Form("bugDescription")
      rsLameError("SeverityID") = Request.Form("severity")
      
        应改为:
      'set rs fields  
      
      rsLameError("BetaID").Value=Request.Form("betaid")
      rsLameError("UserDescription").Value=Request.Form("bugDescription")
      rsLameError("SeverityID").Value=Request.Form("severity")
      
      
        第三种常见的修改是改变类型转换函数的使用方式。再ASP .NET中,VBScript的类型转换函数被加到了.NET框架中。这个变化要求下面的ASP代码
      
      adoRS.fields("AreaID") = clng(oUploadManager.Form("cboArea"))
      adoRS.fields("SubAreaID") = clng(oUploadManager.Form("cboSubArea"))
      
      
        转变为:
      
      adoRS.fields("AreaID").Value =
        oUploadManager.Form("cboArea").ToString().ToInt()
      adoRS.fields("SubAreaID").Value =
        oUploadManager.Form("cboSubArea").ToString().ToInt()
      
      
        最后一个常见的修改是将调用Response.Write方法的格式改为ASP .NET中的方法调用格式。在VBScript,调用不返回值的过程时,不需要用小括号把参数括起来。但在ASP .NET中,所有传递到方法中的参数都要用括号括起来。在原来的站点中,在很多地方都调用了Response对象的Write方法,而且都没加小括号。为了将站点移植到ASP .NET,有必要将下面这段代码:
      
        <% Response.Write "Thank You!" %>
      
        改为:
      
        <% Response.Write("Thank You!") %>
      
        在对原来的ASP页面做了这些修改之后,这个Web站点就可以运行在ASP .NET下了。移植工作只要用两周就可以完成了。为了知道什么地方需要作修改,开发组应用Visual Studio .NET IDE新建了一个新的Visual Basic Web应用程序,将现存的ASP文件的扩展名都改为.aspx,并把它们加到工程中。一旦页面在IDE中显示了出来,Visual Studio .NET就高亮显示出语法,列出要作修改的地方,帮助我们这样发现编译期错误。
     

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告