1.  综述

初始化部署以后,你须要继续维护和更新你的网站。本章节将向你展示一个不包含数据库改变的部署升级流程。(下一章节将展示数据库改变的部署升级流程。)

提醒:假设依据本章节所做的操作出现错误信息或一些功能不正常的话,请务必check Troubleshooting页面。

2.  改动代码

为你的程序做一个简单的改动,在Instructors 列表页加入一个功能。一般选择一个Instructor的时候可以显示该Instructors 的全部课程courses。

Instructors页面能够看到每一个记录有个Select连接,点击之后除了行会变灰色,其他什么都没有做。

加入代码,当点击Select连接的时候显示该instructor的课程courses。

在Instructors.aspx页面。在ErrorMessageLabel label控件之后加入例如以下代码:

<h3>Courses Taught</h3>
<asp:ObjectDataSource ID="CoursesObjectDataSource" runat="server" TypeName="ContosoUniversity.BLL.SchoolBL"
DataObjectTypeName="ContosoUniversity.DAL.Course" SelectMethod="GetCoursesByInstructor">
<SelectParameters>
<asp:ControlParameter ControlID="InstructorsGridView" Name="PersonID" PropertyName="SelectedDataKey.Value"
Type="Int32"/>
</SelectParameters>
</asp:ObjectDataSource> <asp:GridView ID="CoursesGridView" runat="server" DataSourceID="CoursesObjectDataSource"
AllowSorting="True" AutoGenerateColumns="False" SelectedRowStyle-BackColor="LightGray"
DataKeyNames="CourseID">
<EmptyDataTemplate>
<p>No courses found.</p>
</EmptyDataTemplate>
<Columns>
<asp:BoundField DataField="CourseID" HeaderText="ID" ReadOnly="True" SortExpression="CourseID"/>
<asp:BoundField DataField="Title" HeaderText="Title" SortExpression="Title"/>
<asp:TemplateField HeaderText="Department" SortExpression="DepartmentID">
<ItemTemplate>
<asp:Label ID="GridViewDepartmentLabel" runat="server" Text='<%# Eval("Department.Name") %>'></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>

又一次执行该页面,选择一个instructor。你将看到一个该instructor的全部课程courses列表。

3.  部署到測试环境

部署到測试环境,仅仅须要简单的反复步骤one-click公布即可了。

Solution Configurations下拉菜单里选择Test build配置,在Publish profile下拉菜单里选择Test,然后点击Publish Web

假设你自己定义了你的Visual Studio使这些工具栏的这些设置不能用的话,请选择配置管理器Configuration Manager里的Active solution configuration(从Build菜单里选择Configuration Manager),在Publish Web对话框里选择Test profile(Solution Explorer里右键
ContosoUniversity项目。选择Publish) 。点击Publish

点击Publish以后。Visual Studio会在Output窗体显示部署成功的信息。

如今能够通过http://localhost/ContosoUniversity/Instructors.aspx訪问了。点击 一个Select连接验证改动是否生效。

之后。你须要做一些回归測试(測试新改动不会对其他的功能产生影响)。

本章节你能够忽略这个步骤直接部署到生产环境。

4.  预防生产环境又一次初始化数据库

在生产环境中第一次部署之后。已经有了真有用户数据。假设改动以后还使用曾经的部署设置的话,那就会把数据库又一次初始化,真实的用户数据将被清空。

因为SQL Server Compact数据库是存放在App_Data目录下的文件,所以升级部署仅仅须要防止App_Data不背又一次部署即可了。

打开Project Properties窗体。点击Package/Publish Web选项卡。确保Configuration下拉菜单的选项是Active (Release)Release。选择Exclude files from the App_Data folder。然后保存关闭。

确保測试的配置也是一样的:改动ConfigurationTest然后选择Exclude files from the App_Data folder

5.  部署升级期间防止用户訪问

你这次的改动是一个非常easy的改动,假设改动非常多的话,那在部署结束之前用户还在訪问的话,将会看到不可思议的错误结果。能够使用app_offline.htm文件来防止这样的情况。当你在根文件夹上次名称为app_offline.htm 文件的时候,IIS将自己主动让该网站停运,而且显示该页面。所以,合理的部署步骤是,上传app_offline.htm,部署。部署结束以后删除app_offline.htm 文件。

Solution Explorer里右键解决方式(不是项目),选择New Solution Folder

目录命名为SolutionFiles,在里面创建一个名为app_offline.htm的页面。替换成例如以下内容:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Contoso University - Under Construction</title>
</head>
<body>
<h1>Contoso University</h1>
<h2>Under Construction</h2>
<p>The Contoso University site is temporarily unavailable while we upgrade it. Please try again later.</p>
</body>
</html>

你能够用FTP上传app_offline.htm文件或者使用控制面板里的File Manager工具上传。本章节使用File Manager来演示。

打开控制面板选择File Manager,选择contosouniversity.com,然后选择wwwroot,点击Upload

Upload File对话框选择app_offline.htm文件,然后上传。

訪问站点,这时候你看到首页显示的是app_offline.htm页面的内容了。

如今。能够安心地将程序部署到生产环境了。

(该教程不升级部署的时候,在Publish profile里应该选择Leave Extra files on destination (do not delete)选项,假设不选,会删除生产环境全部不须要的文件,所以部署之前。确保有一个app_offline.htm文件的备份,由于可能在你想删除的时候Web Deploy已经将它删除了。)

6.  部署到生产环境

Solution Configurations下拉菜单。选择Release build配置。而且Publish profile里选择Production,然后点击Publish Web

Visual Studio将部署了改动后的程序,然后输入消息到Output窗体。

在验证是否是成功的部署之前。你须要先将app_offline.htm文件删除。

又一次回到控制面板的File Manager程序选择contosouniversity.com->wwwroot,选择app_offline.htm然后点击Delete删除。

打开站点上的Instructors.aspx页面,选择一个记录上的Select连接,验证是否成功部署了改动内容。

至此,你已经成功部署了一个没有数据库改变的升级程序。下一章节展示给你的是怎样部署一个数据库更新。

微软ASP.NET网站部署指南(8):部署Code-Only更新的更多相关文章

  1. 微软ASP.NET网站部署指南(10):迁移至SQL Server

    1.  综述 第2章的部署SQL Server Compact和第9章的部署数据库更新里解释了为什么终于要升级到完整版SQL Server .本章节将告诉你怎样来做. SQL Server Expre ...

  2. 微软ASP.NET网站部署指南(2):部署SQL Server Compact数据库

    1. 综述 对于数据库訪问,Contoso University程序要求以下的软件必须随程序一起部署.由于不属于.NET Framework: SQL Server Compact (数据库引擎) A ...

  3. 微软ASP.NET网站部署指南(9):部署数据库更新

    1.  综述 无论什么时候,程序都有可能像代码更新一样更新数据库.本章节你将进行数据库改动,測试.然后部署到測试环境和生产环境. 提醒:假设依据本章节所做的操作出现错误信息或一些功能不正常的话,请务必 ...

  4. 微软ASP.NET网站部署指南(4):配置项目属性

    1.  综述 有些部署设置能够在项目属性里设置的,而且保持到项目文件中(.csproj或.vbproj). 大多数情况下.你都能够在Visual Studio 选择项目属性Project Proper ...

  5. 微软ASP.NET网站部署指南(3):使用Web.Config文件的Transformations

    1. 综述 大多数程序里都会在Web.config里设置參数,而且在部署的时候须要更改. 每次都手工更改这些配置非常乏味,也easy出错. 该章节将会告诉你假设通过自己主动化更新Web.config文 ...

  6. ASP.Net网站程序在编译发布部署后的后期修改

    ASP.Net网站程序在发布部署后的后期修改 作者:东篱南山 这里说的后期修改是指网站编译发布并部署好之后,对程序进行的修改,即在不能更改现有代码的情况下,更改页面的显示或是更改业务逻辑.一般是在程序 ...

  7. Istio 1.4 部署指南

    原文链接:Istio 1.4 部署指南 Istio 一直处于快速迭代更新的过程中,它的部署方法也在不断更新,之前我在 1.0 版本中介绍的安装方法,对于最新的 1.4 版本已经不适用了.以后主流的部署 ...

  8. C# -- HttpWebRequest 和 HttpWebResponse 的使用 C#编写扫雷游戏 使用IIS调试ASP.NET网站程序 WCF入门教程 ASP.Net Core开发(踩坑)指南 ASP.Net Core Razor+AdminLTE 小试牛刀 webservice创建、部署和调用 .net接收post请求并把数据转为字典格式

    C# -- HttpWebRequest 和 HttpWebResponse 的使用 C# -- HttpWebRequest 和 HttpWebResponse 的使用 结合使用HttpWebReq ...

  9. ASP.NET网站部署CentOS操作笔记

    ASP.NET 网站部署 Linux 服务器简要笔记 Mono 刚问世的时候,跑起来确实有很多不可预估的 BUG,但是被微软收购后推出的几个版本相对来说稳定了许多. 这几天使用了一个 n 年前用 We ...

随机推荐

  1. 页面刷新 vuex 数据重新被初始化

    1.原因 vuex里用来存储的也只是一个全局变量,当页面刷新,该全局变量自然不存在了. 2.解决 使用localStorage存储一份 (1)storage.js /** * vuex localSt ...

  2. LOL电影天堂下载攻略

      LOL电影天堂&&飘花电影网下载攻略 CreateTime--2017年7月27日08:52:29Author:Marydon 以进击的巨人为例 下载地址:http://www.l ...

  3. mysql-5.7.12-winx64安装版配置、使用

    一.下载 http://dev.mysql.com/downloads/mysql/ 下载版本:Windows (x86,64-bit), ZIP Archive(mysql-5.7.12-winx6 ...

  4. 【APP接口开发】php获取body数据

    PHP获取接口数据: $postStr = file_get_contents("php://input");//因为很多都设置了register_globals禁止,不能用$GL ...

  5. composer error when run composer update

    本篇文章由:http://xinpure.com/composer-error-when-run-composer-update/ 错误 很多时候即使是常用的命令也会出现一些奇奇怪怪的错误, 难以预知 ...

  6. 快速排序以及第k小元素的线性选择算法

    简要介绍下快速排序的思想:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此 ...

  7. Linux系统里如何彻底的清空终端屏幕?

    Linux用户,特别是Ubuntu或CentOS用户,基本上都习惯使用clear命令或Ctrl+L组合快捷键来清空终端屏幕.但是,这样做其实并不是真正的清空屏幕,它只是给人一种错觉,让人以为屏幕清空了 ...

  8. VS2008 格式化时候乱码 或者 为全为0

    前几天一直发现写入文件的数据全是0 ,找了非常长时间发现问题在以下的地方: P:a是一个float数,如31.000000,然后运行以下的格式化语句时,结果str的值全是0. (我知道讲float格式 ...

  9. Linux两块4TB的数据磁盘创建8TB的Raid0

    分区表MBR与GPT的说明: MBR:主引导记录,是传统的分区机制,应用于绝大多数使用BIOS的PC设备,MBR+BIOS,MBR支持32位和64位系统,支持的分区数量有限,MBR只支持不超过2T的硬 ...

  10. Fastboot和Recovery

    Fastboot是什么意思?从字面意思来讲,Fastboot是『快速启动』的意思.通常大家所讨论的Fastboot,通常都是说安卓手机的Fastboot模式.在安卓手机中fastboot是一种比rec ...