我正在对一个传统的ASP应用程序做一些更改。我已经在本地进行了更改,现在我想将更改后的文件复制到服务器上。同时,我需要下载Access数据库,在一些表中添加一些字段,然后重新上传。出于这个原因,我需要能够阻止访问者在发生这种情况时修改数据库。
我的主要问题是,最好的方法是建立一个快速的"Down for Maintenance“页面,无论访问者请求哪个页面,都会立即显示出来。应用程序已经建立,所以我更希望得到一个不需要我修改应用程序架构的答案。
我的第二个问题(也许这应该是一个单独的问题):有没有更好的方法将字段添加到数据库表中,而不是复制、修改和再次粘贴它?如果这是一个愚蠢的问题,请原谅--我是ASP的新手,也是Windows的新手。
我只能通过FTP访问远程服务器。
谢谢。
发布于 2008-12-02 11:20:27
如果您只能通过FTP访问服务器(无法控制IIS),只需在所有asp页面顶部的"down for maintenace“页面上插入一个response.redirect,并在更新完成时将其删除。
可以使用ALTER TABLE语句执行对数据库的更改。
发布于 2008-12-11 02:57:33
两种方式:
1
如果在每个asp页面中包含服务器端,则可以在include to /upgrading.html中执行response.redirect
2
在global.asa中,您可以在启动事件时在会话中执行response.redirect。THis可能是最好的方式。仅适用于.asp页面,而不适用于客户端进入.html页面的情况。
发布于 2009-01-29 11:07:47
你有没有任何控制面板可以访问这个网站?
当我用来运行许多ASP经典站点时,我经常关闭它们5分钟来做我需要做的事情。
我知道对你的访客这么做很粗鲁。
正如其他人所说,你可以重定向到一个页面,但这并不能阻止人们访问html页面中的静态内容,但这可能就无关紧要了,至少它会阻止他们在你下载mdb时对mdb进行更改。
遗憾的是,ASP.Net的app_offline.htm不适用于ASP. ASP的经典版本。
我过去使用的另一个选择是创建一个包含离线消息的default.htm文件,而IIS的设置default.htm覆盖了default.asp,所以只需上传default.htm就可以更改主页。当然,这并不能阻止任何人使用其他任何.asp页面。
所以没有真正的答案!抱歉的。
https://stackoverflow.com/questions/333632
复制相似问题