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

时间:2021-09-02 17:19:44

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

作者:黄正
http://fine3x.com

        这里说的后期修改是指网站编译发布并部署好之后,对程序进行的修改,即在不能更改现有代码的情况下,更改页面的显示或是更改业务逻辑。一般是在程序发布并在客户服务器上部署后,客户还会提一些页面上或者是功能上的需求,这种需求往往改动不大,比如改变某处的字体颜色、隐藏某处客户看得不爽的东西,或是要增加一个功能块,或是要另外增加一个简单的数据检索页面,或是增加单点登录的功能。此时若是再回来改原有程序,然后再发布、再重新部署,工作量将不是一般的大。如果是异地的客户,成本将会更加大。这时我们往往可以通过修改现有已部署的网站文件,满足客户的需求。这种情况下能修改的只有发布后的网站文件,如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服务及登入对方的登录页面,实现双向的单点登录。每个客户的单点登录方式基本上都是不一样的,这也是可以灵活应付的一种方式。

        顺带提一下,上述这样更改后的代码都是没有合并到原有项目的,因此最好在文档中记录相应更改,通用的功能最好合并到正式的产品代码中,以便以后的维护。如果是单纯的一次性项目,那倒是无所谓了。