1.aspx文件的名,最好不要与已有的类的名重合,因为,每个aspx文件中,都会创建一个与文件名同名的类。如果重名了,会导致重载。
2.有时页面上没有得到预想的输出,可能是由于response.write或label.text中的HTML语句中标签写的不对,可能是忘了写+=或者,标签没有正确闭合,把要输出的文字含在标签内了。
3.有些类是抽象类,无法实例化,只能使用它的静态方法,如File,Directory对象
4.在操作cookies时,一定要注意Cookie是否已经建立,也就是说建立cookie的页面一定要先运行,引用cookie的页面后运行。否则在运行时会出现“未将对象引用到实例的错误”
5.有些名称空间,即使你不显式的imports它,也能使用它的中的对象,如System.data,也能编译成功。但是在创建组件类时,一定要把使用了的名称空间显式的写出,否则用VBC.exe编译时,找不到相关类。
6.选中一个类名,按ALT+CTRL+J键,就会调出它在对象浏览器中的一个层次位置
7.Web.config的有效性,不是取决于它在项目组中的位置,而是取决于实际路径层次
8.执行存储过程的返回错误是:查询必须是一个可更新的查询!
这是因为权限不同,因为调用程序不是以管理员身份访问数据库的,只要把数据库的everyone权限改为可写入既可
9.在把底版本的asp.net程序向高版本移值时,
出现这样的错误:无法打开错误,可能少web组件,请得新安装组件。
这可能是文件版本号不对,打开.sln和.vbproj文件,修改版本号参数为高版本的版号。
还可以修改.sln文件中的路径
《ASP.NET从入门到精通》一年前 FrameV1.0
第十二章 配置和部署ASP.NET应用程序
1.Asp.Net应用程序的定义:
Web应用程序服务器中某个虚拟目录下可运行或调用的全部文件、页面、事件处理程序、模块以及可执行代码。
2.GloBal.asax文件
本质是一个XML文档,Asp.Net用它来控制应用程序在不同时间点的行为。
n 在应用程序启动时,会实例化一个HttpApplication对象。GloBal.asax文件就是用于控制该对象的。它通过不同的事件进行时间点行为的控制。在运行时,GloBal.axax文件被编译成一个从HttpApplication派生来的动态类型
n 它要位于项目的根目录下。
n 以任何方式修改Global.asax文件都将重新启动应用程序
3.用Weg.Config文件配置Asp.Net应用程序
Asp.Net采用层次式的配置系统,是根据WEB站点的虚拟目录路径结构使用应用程序配置信息。子目录可以继承或覆盖父目录的配置选项,这意味着子目录可以有自己的Web.Config文件。该文件修改后,系统将自动发现,并重新启动应用程序
1)Web.Config的结构(本质是一个XML文档)
l 配置段处理程序元素<configSections />
声明了Web.config中配置数据类型。通常由系统设置,用户不用自已处理,在文件中也看不到。
l 配置段设置元素
n <system.net />
用于配置.Net运行阶段本身。通常由系统设置,用户不用自已处理,在文件中也看不到。
n <system.web />
用户在此写用于控制应用程序的“关键字/值对”
l <appSettings />
让用户定义自定义属性。
n 语法<add key=”” value=””>
n 使用:ConfigruationgSettings.Appsettings(key)
l <location />
这不是默认存在的标签,这个标签的设置只针对特定文件或目录有效。path指定了这个路径,如果是目录,由于web.Config是层次式的,那么它的子目录和子文件也会采用这种设置。必须包括<system.web>子元素
2)<system.web />
l <customErrors />
自定义错误的显示方式和自定义错误显示页面。如
<customErrors mode="On" defaultRedirect="app\err.aspx" >
<error statusCode="404" redirect="app\404err.aspx"></error></customErrors>
l <page />
这个标签用于设置每个页面的通用编译信息
l <sessionState />
会话状态设置,关于属性的说明P470
3) 所有有效设置参见P466表18.2
4) 在Web.Config中使用自定义标签和返回非默认数据类型
a) “添加新项/类.” 并编译到\bin目录
该类用处理Web.Config中的自定义标签。格式参照app\CustomWebConfig.aspx
b) 在Web.Config的配置段处理程序元素<configSections />中添加新段组,声明新标签,及其返回的数据类型和引用的dll文件。格式参照app\Web.config
c) 在Web.Config的<system.web />中添加新标签。格式参照app\Web.config
d) 在aspx文件中,用ConfigruationgSettings.Appsettings(标签层次)返回非默认数据类型的值。参照app\CustomWebConfig.aspx
4.Camel Casting
在Web.Config 和Global.asax文件中,元素和属性的书写是有规范的,区分大小写。在由多个单词组成的元素中,第一个单词的首字母是小写的,而其它单词的首字母。
P478 问与答
P478 18。8。1。4
18。8。1。5
18。8。1。6
18。8。1。7
5.页面输出的编码技术(encoding)
l 在页面编译指令中指定
<%@ Page ResponseEncoding=”UFT-8” %>
l 在Weg.Config中指定
<system.web>
<globalization fifleEncoding=”utf-8” />
</system.web>
6.资源文件和应用程序的本地化
1)确定客户浏览器所用的语言
strRequest.Language(Index)
2) CultureInfo对象
设置和取得程序的语言文化信息。
常用语言及其缩写P495表19.1
CultureInfo对象的属性P496表19.2
设置文化,注意文化名区分大小写:
l < %@ page Culture=”de” %>
l System.Threading.CurrentThread.CurrentCulture=objCulture
不能用CultureInfo.CurrentCulture属性进行设置,虽然它是System.Threading.CurrentThread.CurrentCulture=objCulture的缩写,因为这个属性是只读的
3)RegionInfo对象
设置和取得该地区诸如货币符号以及是否使用公制等信息,但它不使用语言来描述定制信息,而使用国家名缩写来描述
RegionInfo对象的属性。P499表19.3
4) 资源文件
资源文件用于存储应用程序数据,使之与应用程序本身分开。对于同一个资源文件,可以有多个版本,这样Asp.net页面便可以显示不同的信息,而无需修改代码。以本地化为例,可以有多个资源文件:每个文件对应一种文化。每个文件都包含相同的信息,但这些信息被翻译为不同的语言
在一个文本文件中输入关键词对,注意关键词在引用时区分大小写,然后用CLR的resgen.exe把该文件打包成.resource文件。如,resgen data.en-us.txt
可以用vbc编译资源文件,或与其它文件一起编译。被编译后可以这样加载资源文件:
dim objRm as new ResourceManager(“前缀” & Request.userLanguage(0),System.Reflection.Assebmly.GetExecutingAssembly(),Nothing)
5) 用RescourceManager对象装载资源文件。
要使Asp.net从不同的资源文件中检索资源,先把System.Threading.CurrentThread.CurrentCulture对象设置为新的文化对象,然后把System.Threading.CurrentThread.CurrentUICulture对象设置为新的文化对象
为了让文化信息在整个应用程序中一致,因此可以考虑在global.asax文件的Application_BeginRequest方法中设置文化,这样每当服务器收到新请求时,文化都将被自动、正确的设置
可以在Application_onStart事件中将其保存为一个应用程序级的变量,以免每收到一个请求时都重新创建它。
P507 19.7.1.70
7.调试程序
1) web.config中打开调试。在发布程序时,要把调试关闭。
<compilation defaultLanguage="vb" debug="true" />
2)try - catch –finally结构化异常处理语句
一个结构中可以有多个catch语句,异常从底层到高层捕捉
访问Asp.net环境之外的系统时(如访问数据库或文件)一定要使用try
3)用Throw关键字抛出异常
l 抛出自定义异常
Throw new Exception(“I’m taking exception to that!”)
l 抛出预定义异常
Throw new ExceptionType
4) 注释
5)Response.Write()
6)跟踪
l 页面级跟踪
<%@ Page Trace=”true” TraceMode=”SortByTime或SortByCategory”>
l 应用程序级跟踪
在Web.Config中配置
<system.web>
<trace enabled="false" requestLimit="10" pageOutput="true" traceMode="SortByTime" localOnly="true" />
</system.web>
l 向跟踪写入信息
n Trace.Warn方法
n Trace.Write方法
当不需要显示跟踪时,不用注释这两个方法,只需要把跟踪关闭即可。
n Trace.IsEnabled属性
可检查该属性来写一些只在跟踪打开时才能运行的代码段。
l Trace.axd
当应用程序级跟踪打开时,可以用trace.axd查看跟踪信息。方法是浏览以下地址http://localhost/leilei/trace.axd
7)CLR调试器
要使用调试器要先在Web.Config中打开调试。这会产生一个以项目名命名的符号文件.pdb,放在\bin目录下。这个文件告诉调试器如何将必须解释的机器指令映射到源文件中的代码。这让您能通过查看源代
请发表评论