在Windows XP操作系统中,搭建多个网站并非易事。即便拥有服务器,也需要在上传到生产服务器之前,在本地计算机上测试。本文介绍的工具或许能提供一些帮助。
问题1:IIS在Windows XP中仅支持一个网站。虽然微软提供了“管理脚本”,可以创建更多网站,但这些脚本使用起来非常不便。
解决方案:为了解决这个问题,决定开发一个工具,以简化这个过程。
问题2:一次只能运行一个网站。这并不是一个大问题,但不喜欢每次切换网站时都需要打开“IIS管理器”。
在完成这个工具后,认为这是第一篇文章。为什么?因为可能有人遇到了相同的问题,而且,在开发这个工具的过程中,发现关于“使用C++控制IIS”的信息很难找到。因此,提供了一个“即插即用的工具”和示例代码。
即使知道.NET Web编程有将“默认网站”作为开发根目录的习惯(如果有人知道如何在本地使用其他网站进行开发,会很高兴),认为这个工具可能会很有用。
这个工具将为提供创建、删除以及更改现有网站属性的方法。没有实现IIS插件的所有功能,因为想保持它的简单性。想让它尽可能简单,通过几次点击就能创建一个网站。对于额外的功能,总是可以使用IIS插件!
它还会更新HOSTS文件,这样就可以通过输入类似http://yoursite这样的地址来访问网站,而不是使用http://localhost。这样做有助于防止“临时Internet文件”(如CSS和JS)出现问题,因为可能会使用(像一样)一些全局CSS文件,这些文件对于每个网站是不同的,但名称相同。
例如:
http://testsite1/global.css
http://testsite2/global.css
如果不使用HOSTS文件通过输入http://testsite1和http://testsite2来访问不同的网站,那么将不得不通过输入http://localhost来访问这两个网站,因此文件global.css对于这两个网站将具有相同的URL(http://localhost/global.css),这可能会造成一些奇怪的问题,因为“临时Internet文件”会认为它们是同一个文件。
这很烦人,所以开始管理hosts文件。
Windows XP只允许一次运行一个网站,因此有一个选项可以在启动新网站之前停止正在运行的网站。
重点可能在“读者的眼睛”中,但对来说,很难获得如何使用VC++实现的信息。
永远不知道什么时候需要创建一些疯狂的工具来访问IIS,比如说在某个内部网中。想象一下,有一个充满客户网站的服务器,希望“技术人员”能够访问IIS以便进行更改。敢打赌,不会希望他们摆弄IIS插件所提供的所有功能,另外他们还会消耗一个(仅有的)两个宝贵的终端服务连接,甚至更多...
想象一下,商业部门想要出于某种原因“切断”客户服务。猜永远不会给他们服务器的访问权限,但可能不会总是在身边去服务器上停止/启动网站,每次他们想要的时候。
所以可能想要开发某种IIS后端办公室,让他们通过浏览器访问一些选项...好吧,好吧,已经听到有人在说他们可以用.NET来做,不需要C++。是的,但这不是重点,重点是可能像一样,喜欢ISAPI,如果是这样的话,每次遇到这样的事情,立即会想到“如果... ISAPI...”。
这就是...指向一些代码,如果出于某种原因很难猜到它。
当然,这不是一个ISAPI,但它仍然是用C++编写的,“绑定”这段代码与一个ISAPI不会很难。
关于这个项目,想说总是在启动另一个网站之前(如果该选项处于活动状态)停止正在运行的网站,这在Windows XP中是必要的,因为一次只能运行一个网站。要启动一个,必须停止另一个,否则启动命令将失败。但真正的问题出现在在停止之前删除正在运行的网站时!在没有IISRESET或重启的情况下,将无法启动另一个网站。