作者:动态网站…
来源:动态网站制作指南
热度:
2007-6-10 11:36:16
问:是否有办法使用 URL 中的参数作为重定向的一部分,而不使用 ASP?换言之,当人们访问我们的站点 www.oursite.com?A=1 时,我们想将此请求转发到 www.theirsite.com?A=1 站点。
答:在 web 站点、目录、虚拟目录或文件的属性中,您可以将文件的位置指定为“本地”、在“另一系统上”(带一个 UNC 路径名),或者将请求重定向。如果您选择重定向请求,您可能要用到鲜为人知但功能十分强大的重定向变量。就您的情况而言,您需要在 Redirect To(重定向至)文本框中输入 http://www.theirsite.com$P。$Q 替换变量将全部问号及其后的参数附加到重定向请求后。
还有许多其他的重定向变量使您能够不用编写代码就可以执行替换和其他操作。您可以在 IIS 联机帮助文件中的 Redirect Reference(重定向参考)部分找到更多有关重定向参数方面的信息。
[SplitPage]
能否在 Windows XP Home Edition 上安装 IIS 或 PWS?
问:我曾在某处读到过,不能在运行 Windows XP Home Edition(家庭版)的计算机上运行/开发 ASP.Net 应用程序。是否有办法在运行 XP 家庭版的计算机上安装 IIS 或 PWS?我有 VS.Net 专业版,但尚未找到用 ASP.Net 进行开发的方法。
答: Windows XP Home Edition(家庭版)不支持 IIS 的任何版本。据我所知,没有任何可靠的方法能让它运行 IIS。Windows XP Home Edition 不适合用作基于 Web 的应用程序的开发平台。升级到 Windows XP Professional 后将允许您在系统上安装 IIS 5.1,这样您就可以用 ASP.Net 进行开发了。Windows XP Professional 上的 IIS 5.1 是一个全功能的、强大的 Web 服务器,但仅限于使用 10 个同时连接,因为 Windows XP Professional 是一个工作站操作系统而非服务器平台。在将 Windows XP Professional 用作客户端操作系统而非服务器操作系统时,还有其他几点限制。大体上说,这两者的区别,就是将 IIS 5.0 安装在 Windows 2000 Professional 上时与安装在 Windows 2000 Server/Advanced Server 上时您会看到的那些区别。但尽管如此,在使用 .NET 框架开发基于 web 的应用程序时,Windows XP Professional 仍是一种优秀的开发环境。
ISAPI 筛选器能否在独立的进程空间中运行?
问: IIS 5.0 允许 ISAPI 扩展在独立的进程空间运行。ISAPI 筛选器是否也能在独立的进程空间运行呢?在我们安装一个包含 ISAPI 筛选器的软件后,我们一个客户的 IIS 服务器每过两三天就重启一次。最后一次故障转储显示 inetinfo.exe 因为“除以 0 的错误”而崩溃,但它在 ISAPI 筛选器中没有崩溃。如果能在独立的进程空间运行 ISAPI 就好了,这样它就不会与 inetinfo.exe 冲突。
答:再重述一次,针对在 web 服务器上运行这一目的而编写的程序有特定的要求。例如,您不能通过 URL 来调用 Notepad.exe 的一个实例并期望在客户端系统上看到记事本窗口。为让一个可执行文件(不是 CGI)与来自 IIS 的请求交互,需要用 ISAPI 来编写它。ISAPI 的意思是“Internet 服务器应用程序编程接口”。ISAPI 可执行文件分两类--扩展和筛选器。
ISAPI 扩展可从像 http://localhost/myisapi.dll 这样的 URL 直接调用。假定您将 IIS 配置为允许执行目录上的“脚本和可执行文件”而且用户具有 NTFS“执行”权限,则该 dll 将可以运行。IIS 允许您指定让应用程序在进程中运行(作为 inetinfo 的一部分来运行)还是在进程外运行(在 IIS 4 上作为 MTX 的一部分运行,或在 IIS 5.x 上作为 dllhost 的一部分运行)。当一个应用程序在进程外运行时,inetinfo 就会与您所说的那类问题隔离开,不受其影响。如果应用程序失败,则 web 服务器也将失败。
而 ISAPI 筛选器则全然不同。ISAPI 筛选器能够修改传入和传出 IIS 的数据流。所以,它们有强大的能力,可用来实现自定义的日志记录、身份验证,也可用来修改数据流。IIS 5 的 ISAPI 筛选器中实现的功能包括数据压缩、简要身份验证和 URLScan。
因为筛选器在 IIS 中扮演着这样一种重要角色,所以在设计上,它们总作为 inetinfo 的一部分在进程中运行。因此,如您所知,正确构造 ISAPI 筛选器对于服务器的正常运行来说是十分重要的。我的建议是,您可以让 Microsoft 产品支持服务与您一道找出问题所在,因为这类异常的诊查工作可能会相当难。
就这一问题,有几种新技术可能会使您的工作略轻松一点。一是期望使用 IIS 6。由于它采用新的体系结构,所有 ISAPI 筛选器都在进程外运行。这样可让您实现将 web 服务器与反复无常的 ISAPI 筛选器隔离起来的目标,但并没有真正解决问题。为最终解决问题,请评估一下 .NET 语言在实现 ISAPI 筛选器方面的能力。我估计您会发现,用 .NET 实现同样的功能,将比采用 C++ 语言的标准 ISAPI 筛选器设计要简单得多。
使用 WebDAV 从 ASP 编辑文档的代码示例
我来说两句:
推荐文章
相关文章