WEB开发技术介绍
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
Web应用程序项目与网站项目
1.开发概述
在Visual Studio中,可创建(Web应用程序)项目或网站。
项目:创建WEB服务(传统应用项目的web化)
在不停止调试会话的情况下能够编辑代码。与页关联的类文件中的代码运行单元测试。
使用 MSBuild 或 Team Build 编译项目。避免将源代码放置在生产服务器上。
从独立类中引用与页和用户控件关联的类。
在多个 Web 项目之间建立项目相关性。
编译器为整个站点创建单个程序集。控制为站点生成的程序集的名称和版本号。
使用 Visual Studio 2010 中提供的自动化部署工具。
网站:创建和维护网站。
单个项目中同时包含 C# 和 Visual Basic 代码。
在 Visual Studio 中打开生产站点和使用 FTP 对其进行实时更新。
不希望必须显式编译项目才能部署项目
如果预编译站点,您希望编译器为站点创建多个程序集,可以是每个页面或用户控件一个程序集您希望能够通过仅将新版本复制到生产服务器,或通过在生产服务器上直接编辑文件来
如果预编译站点,您希望能更新各 网页(.aspx 文件),而无需重新编译整个
您希望在生产服务器上保留源代码,以便用作附加备份副本。
项目文件(.csproj 或 .vbproj)来跟踪有关项目的信息。网站把文件夹结构中的所有
项目在Visual Studio中生成,编译为一个程序集。网站不必编译,可选择批处理(通常程序集/项目文件夹结构:
默认页
App_Browsers 标识个别浏览器并确定其功能的浏览器定义 (.browser) 文件。
App_Code 应用程序的共享类和业务对象(例如 .cs 和 .vb 文件)的源代码。
App_Data应用程序数据文件,包括 .mdf 数据库文件、XML 文件和其他数据存
App_GlobalResources 编译到具有全局范围的程序集中的资源(.resx 和 .resources 文件App_LocalResources 应用程序中的特定页、用户控件或母版页关联的资源(.resx 和 .r App_Themes 定义 网页和控件外观的文件集合(.skin 和 .css
App_WebReferences 创建在应用程序中使用的 Web 引用的引用协定文件(.wsdl 文件)Bin 应用程序中引用的控件、组件或其他代码的已编译程序集(.dll 文项目文件类型:
大多数 文件类型都可以使用 Visual Studio 中的“添加新项”菜单项自动生成。
通过使用映射将文件类型与应用程序关联。
.asax 通常为 Global.asax 文件,该文件表示应用程序类
.ascx Web 用户控制文件
.ashx 处理程序文件,该文件将被调用以响应 Web 请求,从而生成动态内容
.asmx XML Web services 文件,该文件包含可由其他 Web 应用程序调用的类
.aspx Web 窗体页,该页可包含 Web 控件及显示和业务逻辑。
.axd 处理程序文件,该文件用于管理网站管理请求(如 Trace.axd)。
.browser 浏览器定义文件,该文件标识单个浏览器的功能。
.cd 类关系图文件。
.compile 预编译的 stub 文件,该文件指向表示已编译的网站文件的程序集。
.config 配置文件,该文件包含表示 功能设置的 XML 元素。
.cs、.vb 源代码文件(.cs 或 .vb 文件),该文件定义可在页之间共享的代码
.csproj、.vbproj Visual Studio Web 应用程序项目的项目文件。
.disco、.vsdisco XML Web services 发现文件,该文件用于帮助找到 Web 服务。
.dsdgm、.dsprototype 分布式服务关系图 (DSD) 文件
.dll 已编译的类库文件(程序集)。
.licx、.webinfo 许可证文件。 控件创作者可以通过授权方法来检查用户是否得到使用控件的授项目的 Web 服务器:
可以使用不同的 Web 服务器进行测试,包括IIS Express、IIS或内置 Visual Studio 开发服务使用项目属性指定服务器和端口。
共享代码文件夹:
Bin 文件夹:
Bin 文件夹中的程序集无需注册
App_Code 文件夹:
通过在 Web.config 文件的 codeSubDirectories 元素中创建一个 compilation 元<compilation debug="false">
<codeSubDirectories>
<add directoryName="VBCode" />
<add directoryName="CSCode" />
</codeSubDirectories>
</compilation>
非管理员用户身份使用 Web 项目:
Web 项目源控件概述:
例如,如果安装了 Microsoft Visual SourceSafe (VSS),则可直接在 Visual Studio 中执行 编译概述
应用程序生命周期概述(运行)
Web服务器收到浏览器请求(应用程序资源)处理:
依据文件扩展名->ISAPI 扩展映射(服务器配置Web.config),调用合适的ISAPI(是服参见HTTP处理程序(HTTP处理架构)和HTTP模块(实现)概述。
实现概要
当应用程序未启动时:
创建一个应用程序域(使用ApplicationManager类的创建方法):存放该应用程序自己的实应用程序域包含一个HostingEnvironment类实例(应用程序的信息(如存储该应配置为动态编译时:
动态编译(编译生命周期)。
创建请求核心对象实例:存放该请求的实例变量。
请求核心对象包含: HttpContext类实例,它包含
HttpRequest实例(包含该请求信息,如Cookie、浏览器信息)
HttpResponse实例(包含发送到客户端的响应,如呈现的输出、Cooki 启动执行应用程序:(创建Global.asax(HttpApplication派生类)类的实例启动应用程序)
注:在Global.asax中可重载应用程序启动方法。
注:没有Global.asax时缺省使用父类HttpApplication。
创建所有已配置的模块(如 SessionStateModule模块),Ht
1.验证请求:检查浏览器发送的信息,并确定其是否
参见 ValidateRequest 和脚本侵入概述。
2.执行URL映射:处理Web.config文件UrlMappingsSe
3.引发BeginRequest、 AuthenticateRequest、 Pos
PostAuthorizeRequest、ResolveRequestCache、PostRes