ASP.Net网站程序在编译发布部署后的后期修改
ASP.Net网站程序在发布部署后的后期修改
作者:东篱南山
这里说的后期修改是指网站编译发布并部署好之后,对程序进行的修改,即在不能更改现有代码的情况下,更改页面的显示或是更改业务逻辑。一般是在程序发布并在客户服务器上部署后,客户还会提一些页面上或者是功能上的需求,这种需求往往改动不大,比如改变某处的字体颜色、隐藏某处客户看得不爽的东西,或是要增加一个功能块,或是要另外增加一个简单的数据检索页面,或是增加单点登录的功能。此时若是再回来改原有程序,然后再发布、再重新部署,工作量将不是一般的大。如果是异地的客户,成本将会更加大。这时我们往往可以通过修改现有已部署的网站文件,满足客户的需求。这种情况下能修改的只有发布后的网站文件,如aspx、js、css等文件,根据需要也可以往网站中增加新的页面。
1、客户端的问题,往往通过修改js、css文件,或是往aspx文件中加入js脚本就能解决。js是很强大的,基本可以解决任何客户端的问题,一般是在body的onload事件中进行调用,或是在aspx文件的末尾处加入js块,来修改服务器已经输出的html页面内容。
2、有些问题必须通过修改服务器代码来完成。我们可以在aspx文件中增加runat="server"的Script块,来实现增加一系列的方法。可以重写后台类(包括Page父类)的一些virtual的方法。常用的就是重写OnLoad方法,来实现页面加载时调用我们新加的方法。如果后台代码不包含什么核心代码,我们甚至可以将后台代码全部放到aspx文件中重写。
3、有时候需要增加新的aspx页面或是新的asmx的web服务页面,来满足客户需求。我们可以利用aspx页面是单独运行的特点来实现,而不必合并原有项目到一起进行重新编译。在VS中新建一个空的网站,然后把已经部署的网站中的dll引用进来,然后就可以使用系统的各种类,也可以使用页面的Session,来进行新页面的业务代码编写了。写好之后进行发布时选上“使用固定命名和单页程序集”,然后发布,然后将发布好的aspx文件及其对应的bin下那个dll一起复制到已发布的网站中,就可以直接运行了。用这种方式可以增加单点登录中登入本地的验证web服务及登入对方的登录页面,实现双向的单点登录。每个客户的单点登录方式基本上都是不一样的,这也是可以灵活应付的一种方式。
顺带提一下,上述这样更改后的代码都是没有合并到原有项目的,因此最好在文档中记录相应更改,通用的功能最好合并到正式的产品代码中,以便以后的维护。如果是单纯的一次性项目,那倒是无所谓了。
ASP.Net网站程序在编译发布部署后的后期修改的更多相关文章
- 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 ...
- [亲测]ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- 如何利用IIS调试ASP.NET网站程序详解
如何利用IIS调试ASP.NET网站程序详解 更新时间:2019年01月13日 08:44:13 作者:江湖逍遥 我要评论 这篇文章主要给大家介绍了关于如何利用IIS调试ASP.NET网 ...
- 从头认识一下docker-附带asp.net core程序的docker化部署
从头认识一下docker-附带asp.net core程序的docker化部署 简介 在计算机技术日新月异的今天, Docker 在国内发展的如火如荼,特别是在一线互联网公司, Docker 的使用是 ...
- Asp.Net 应用程序在IIS发布后无法连接oracle数据库问题的解决方法
asp.net程序编写完成后,发布到IIS,经常出现的一个问题是连接不上Oracle数据库,具体表现为Oracle的本地NET服务配置成功:用 pl/sql 等工具也可以连接上数据库,但是通过浏览器中 ...
- Asp.Net网站的的编译与发布原理
如下所示创建一个简单的asp.Net Web应用程序 在VS中生成解决方案之后,可以在项目的目录下看到以下的文件: ...
- ASP.NET Core 2.0 MVC 发布部署--------- CentOS7 X64 具体操作
.Net Core 部署到 CentOS7 64 位系统中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk-2.0) 3.Supervisor(进程管理工具,目的是 ...
- ASP.NET Core 2.0 MVC 发布部署--------- SUSE 16 Linux Enterprise Server 12 SP2 X64 具体操作
.Net Core 部署到 SUSE 16 Linux Enterprise Server 12 SP2 64 位中的步骤 1.安装工具 1.apache 2..Net Core(dotnet-sdk ...
随机推荐
- kinect学习笔记(四)——各种数据流
一.kinect开发的一个流程图 1.我们可以知道一个简单的框架就是几部分 (1)选择使用的kinect传感器 KinectSensor.KinectSensors[] (2)打开需要的数据流 _ki ...
- C#学习笔记(五)——函数
一.定义和使用函数. 直接通过例子进行说明吧 class Program { static void Write() { Console.WriteLine("Test output fro ...
- 简单的Java Web服务器
import java.io.FileInputStream; import java.io.OutputStream; import java.net.ServerSocket; import ja ...
- http://jingyan.baidu.com/album/d8072ac47baf0eec95cefdca.html?picindex=4
http://jingyan.baidu.com/album/d8072ac47baf0eec95cefdca.html?picindex=4
- MapReduce的输入输出格式
默认的mapper是IdentityMapper,默认的reducer是IdentityReducer,它们将输入的键和值原封不动地写到输出中. 默认的partitioner是HashPartitin ...
- BZOJ3356 : [Usaco2004 Jan]禁闭围栏
首先将坐标离散化,考虑从左往右扫描线 碰到插入操作则插入 碰到删除操作的: 当前包含i的矩形数=y1在[1,y2[i]]之间的矩形数-y2在[1,y1[i]-1]之间的矩形数 用两棵树状数组维护即可, ...
- BZOJ3833 : [Poi2014]Solar lamps
首先旋转坐标系,将范围表示成矩形或者射线 如果范围是一条线,则将灯按y坐标排序,y坐标相同的按x坐标排序, 对于y相同的灯,f[i]=min(i,它前面灯发光时刻的第k[i]小值), 线段树维护,$O ...
- IE6/7/8兼容问题、时间对象返回NAN
IE浏览器不支持new Date()带"2,31,2013"这样格式的参数,要换成“2/31/2013”.'2013-05-05'.replace(/-/g,'/')
- [Cocos2d-x For WP8]MotionStreak拖尾效果
拖尾效果是指在在游戏中,一个精灵在运动的过程中会留下一个短暂的轨迹效果,在游戏里面如打斗的特效往往会需要用到这种效果来给运动的增加绚丽的效果.那么在Cocos2D-x里面我们可以使用一种内置的拖动渐隐 ...
- BestCoder Round #78 (div.2)
因为rating不够QAQ就报了Div2.. [CA Loves Stick] CA喜欢玩木棍. 有一天他获得了四根木棍,他想知道用这些木棍能不能拼成一个四边形. Sample Input 2 1 1 ...