`
leavingme
  • 浏览: 25753 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

ASP.NET 1.1 升级至 ASP.NET 2.0 十个问题总结

阅读更多

出处:CSDN[2006-03-14 15:30:05]  作者:litp 

  这几天升级了一下原来的1.1项目,发现了一些问题,总结一下放在这里,也提醒还没有来得及升级或准备升级的朋友,升级的过程中少走弯路,少浪费时间。
  1.Global.asax文件的处理形式不一样
  转化后将出现错误,在vs2003中Global.asax具有代码后置文件,2.0下, 将代码分离文件移到 App_Code 目录下,以便使其自动变为可通过应用程序中的任意 ASP.NET 页面访问。“Code-behind”属性将从 ASAX 文件的指令中删除。vs2005则直接把代码写在Global.asax。所以需要删除转化过来的文件重新加入,并把相应的代码copy过来。
  2.2.0没有了项目文件。
   在 1.1 应用程序中,项目文件包含生成设置、对外部程序集的引用以及项目中的文件列表。而在 2.0 应用程序中,不再需要版本设置和文件列表,因为 Web 项目目录下的所有文件都被视为 Web 项目的一部分。
  3.代码分离模式。
  在 ASP.NET 1.1 中,代码分离模式使内容(例如 test.aspx)与代码(例如 test.aspx.cs)分离。内容页面从代码分离页面继承而来,代码分离页面包含用户和设计器生成的代码。
  ASP.NET 2.0 通过使用局部类来增强代码分离模式,使用 partial 关键字可以将单个类的代码分隔到两个独立的文件中。它允许一个类跨越多个文件。在新的代码分离模式中,内容页面从编译的类继承而来,它由相应的代码分离页面以及自动生成的存根文件组成,存根文件用于为内容页面中使用的控件定义字段声明。此项更改使自动生成的代码与用户的代码分离,并且使代码分离页面显著变小且更加简洁。局部类结构还降低了由于编辑设计器生成的代码而不小心破坏页面的风险。
  如果出错请检查是否有partial 关键字,否则添加 partial 关键字。
  4.语法检查。
  asp.net1.1程序,编译时不会检查aspx、aspcx等文件中的语法错误,而vs2005编译时会检查项目中所有的aspx、aspcx等文件中的语法,所以如果有语法错误,会导致编译无法通过。
  5.控件声明。
  如果在 .aspx 页面上声明了所有控件,则从代码分离文件中删除所有控件声明,否则报错:重复定义。
  6.(仅限于 C#)将事件挂钩代码从代码分离文件的 InitialzeComponent 函数移到 .aspx 页面中。
  请注意,此操作不适用于自动调用的事件,包括 Page_Init、Page_Load、Page_DataBind、Page_PreRender、Page_Unload、Page_Error、Page_AbortTransaction 和 Page_CommitTransaction。
  7. 部署方式(预编译、完整编译、可更新站点等)。
  在 1.x 中,Web 应用程序是作为一个大型程序集而预编译和部署的。内容页面(*.aspx)不在服务器上编译,但可以在服务器上编辑。借助新的页面编译模式和目录结构,您就可以使用多种不同的配置来部署 ASP.NET 2.0 应用程序。一种情况,您可以预编译所有的 ASPX 页面并部署由完全编译好的程序集组成的 Web 应用程序。在这种模式下,您不能在服务器上轻松地更改该应用程序。另一种情况,您可以在不预编译任何代码的情况下部署应用程序。在这种配置下,您可以直接在服务器上更改该应用程序中的 .aspx 页面、代码分离文件或其他任何代码。当用户请求服务器上的页面时,页面将被动态编译。
  8.将 .aspx 页面中的所有 CodeBehind 属性更改为 CodeFile 属性
  CodeBehind: 指定包含与页关联的类的已编译文件的名称。该属性不能在运行时使用。
提供此属性是为了与以前版本的 ASP.NET 的兼容,以实现代码隐藏功能。在 ASP.NET 2.0 版中,应改用 CodeFile 属性指定该源文件的名称,同时使用 Inherits 属性指定该类的完全限定名称。
  CodeFile
  指定指向页引用的代码隐藏文件的路径。此属性与 Inherits 属性一起使用可以将代码隐藏源文件与网页相关联。此属性仅对编译的页有效。
  9.将所有独立的代码文件和AssemblyInfo.cs都被移到 App_Code 目录下。
  但运行转换向导之后,您可能会发现某些代码分离文件(例如,*.aspx.cs 或 *.ascx.vb)被移到 App_Code 目录下。这表明代码分离文件的内容页面含有格式不正确的 Codebehind 指令,并且没有进行正确设置。也就是说,转换向导不能确定该代码分离文件是否实际绑定到某个特定的 .aspx 页面。
  10.Web 服务
  在 ASP.NET 1.x 中,Web 服务 (.asmx) 自动拆分到空白标题页面 (.asmx) 和包含实际方法的代码分离文件中。
  Asp.net2.0下:
  ? 将代码分离类移到 App_Code 目录下,以便使其自动变为可通过应用程序中的任意 ASP.NET 页面访问。 
? 更改 .asmx 文件中的 CodeBehind 属性,以便指向新位置。
(请注意,代码分离文件不使用局部类,因此继续使用 CodeBehind 属性。) 
? 将所有的默认、Friend 和 Internal 范围的声明更改为 Public。
  在1.1到2.0的升级过程中,你遇到过什么样的问题呢?可以写下来让大家共同学习,少走弯路。



陈源 2008-01-14 01:20 发表评论
分享到:
评论

相关推荐

    Professional ASP.NET 1.1

    这不仅有助于提升开发技能,也为后续的ASP.NET版本升级,如ASP.NET 2.0、3.5、4.x乃至ASP.NET Core的学习打下坚实基础。对于想要在.NET平台上构建Web应用程序的专业人士来说,这本书及其配套代码库无疑是一份宝贵的...

    Install ASP.NET 1.1 with IIS7 on Vista and Windows 2008

    在Windows Vista和Windows Server 2008操作系统中安装ASP.NET 1.1与IIS7是一项技术性任务,因为这两个平台默认支持的是ASP.NET 2.0及以上版本。然而,由于某些应用可能仍依赖于ASP.NET 1.1,所以了解如何在IIS7上...

    IIS共存ASP.NET1.1和2.0

    ### IIS共存ASP.NET 1.1与2.0的知识点详解 #### 一、IIS简介 IIS(Internet Information Services)是微软提供的基于运行Microsoft Windows的互联网基本服务,主要用于提供Web服务。它不仅可以作为Web服务器,还...

    Migrate an ASP.NET 1.1 Web Page Using the CodeBehind Attribute to ASP.NET 2.0

    随着 .NET Framework 的不断更新和发展,从 ASP.NET 1.1 迁移到 ASP.NET 2.0 成为了很多开发者面临的一个任务。在 ASP.NET 2.0 中,引入了一种新的 Web 页面代码隐藏模型,它基于部分类(partial classes),这种...

    asp.net1.1/2.0 日期时间控件

    可以选择日期 , 只是简单的实现功能

    [其他类别]文件管理系统源码(Asp.net1.1)_filemanagers.zip

    标题中的“[其他类别]文件管理系统源码(Asp.net1.1)_filemanagers.zip”表明这是一个基于Asp.net 1.1版本开发的文件管理系统源代码,属于“其他类别”,可能是因为它不局限于特定的行业应用,而是一个通用的解决方案...

    FlyTreeView 4.3/3.6 for ASP.NET 1.1/2.0

    在2007年11月11日,该控件的两个不同版本3.6.4.0(适用于ASP.NET 1.1)和4.3.1.106(适用于ASP.NET 2.0)被发布,以满足不同平台开发者的需求。 在ASP.NET中,FlyTreeView控件是一个增强型的树视图组件,它相比内置...

    .NET Framework 1.1-2.0-3.5 Installer for InnoSetup

    它支持ASP.NET、Windows Forms和ADO.NET,极大地简化了Web应用和桌面应用的开发。 2. **.NET Framework 2.0**:在1.1的基础上,2.0版增加了大量新功能,如Generics、Partial Classes、Anonymous Methods等,增强了...

    64位操作系统安装asp.net2.0框架不支持解决办法

    在 64 位操作系统上安装 ASP.NET 2.0 框架时,可能会遇到不支持的问题。为了解决这个问题,我们需要卸载 64 位的 .NET 2.0 Framework,切换 IIS 到 32位模式 RUNNING,然后重新安装 32 位的 .NET 2.0 Framework。 ...

    协诚HTTP压缩组件 v2.0 for .NET 1.1

    什么是HTTP Compression Module?HTTP Compression Module是一个ASP.NET页面和资源压缩模块,ASP.NET的VIEWSTAT虽然好用但是会使输出的HTML代码臃肿不堪,在带宽资源极为有限的国内表现的尤其明显,但凡ASP.NET的...

    win2003-64位系统IIS配置方法

    echo 修复ASP.NET2.0 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_regiis.exe -r echo 安装ASP.NET1.1 Frameworks\Framework_1.1.exe /c /t:c:\windows\temp\ c:\windows\temp\netfx.msi /passive ...

    Magicajax for .Net 1.1

    - **添加控件**:在ASP.NET页面上添加MagicAjax控件,如UpdatePanel,通过设置属性来定义哪些区域需要无刷新更新。 - **事件处理**:利用Ajax事件,如BeginRequest和EndRequest,可以编写回调函数,处理异步请求的...

    Asp.net 2.0高级编程(pdf)

    内容代码,使用VB.net和C# 两种解释 <br>第1章ASP.NET2.0概述 1 1.1简史 1 1.2ASP.NET2.0的目标 2 1.2.1开发人员的效率 3 1.2.2管理 5 1.2.3性能和可伸缩性 8 1.3ASP.NET2.0的其他新特性 8 ...

    ASP.NET 2.0介绍

    ASP.NET 2.0 是微软推出的Web应用程序框架的第二个主要版本,它在ASP.NET 1.1的基础上进行了许多改进和增强。在这个版本中,开发者能够更高效、更灵活地构建动态网页应用。以下是对ASP.NET 2.0访问数据库、编译及...

    如何在IIS6.0里面显示ASP.NET v2.0.50727

    在探讨如何在IIS6.0中正确配置并运行ASP.NET v2.0.50727的应用程序时,我们需要深入理解IIS6.0的架构、ASP.NET的版本管理以及两者之间的交互机制。以下将详细介绍这一过程的关键步骤与注意事项。 ### 一、IIS6.0与...

    零基础学asp.net

    ASP.NET2.0更是在ASP.NET1.1的基础上,添加和增强了很多Web控件,并提供了一套可扩展的应用程序模块,如成员、角色,母版以及导航等,使用这些模块,可以大大提高开发效率,这也代表着未来软件开发技术的发展趋势。...

    《零基础学ASP.NET 2.0》第1章 认识ASP.NET 2.0 1

    1.1 ASP.NET 2.0 是什么 1 1.2 第一个ASP.NET 2.0网站 2 1.2.1 创建网站 2 1.2.2 设计网站 3 1.2.3 通过预编译发布网站 5 1.3 ASP.NET 2.0必须具备的HTML知识 7 1.3.1 利用表单提交数据 8 1.3.2 使用表格进行布局 9 ...

    ASP.NET 2.0 动态网站开发教程.rar

    ASP.NET 2.0是微软公司推出的新一代企业级开发平台,它不是ASP.NET 1.1版本的简单升级,而是对原有版本的全面革新。ASP.NET 2.0不仅功能强大,而且易学易用。利用它能够在最短的时间内开发具有出高效性、高可靠性和...

    ajax技术用到的包 老版本ajax.dll .net1.1版本ajaxpro.ll net2.01版本ajaxpro.2.dll

    它是ASP.NET平台上著名的AJAX框架,诞生于2005年2月(虽然正式命名为AJAX.NET则是在两个月之后),作者为Michael Schwarz。同年10月,Michael为AJAX.NET提供了更丰富的功能(主要是安全性方面),并将其改名为AJAX...

    ASP.NET+2.0动态网站开发教程

    通过这个“ASP.NET+2.0动态网站开发教程”的全套PPT,你可以系统学习到上述所有知识点,并掌握ASP.NET 2.0进行网站开发的基本技能。无论是初学者还是有经验的开发者,都能从中受益匪浅,提升自己的Web开发能力。

Global site tag (gtag.js) - Google Analytics