ASP.NET Development Server 疑难解答

更新:2007 年 11 月

在 Visual Studio 中测试文件系统网站时,ASP.NET Development Server 将自动运行。有关更多信息,请参见 Visual Web Developer 中的 Web 服务器

某些情况下,使用 ASP.NET Development Server 会产生错误。本主题列出了 Web 服务器可能产生错误的情况,并提供可能的解决办法。

“未能开始监视对 ... 的更改”错误

如果在应用程序级模拟中使用 ASP.NET Development Server 并在运行 Windows Vista 时启用了 User Account Control(用户帐户控制),则可能出现此错误。

默认情况下,即使您以管理员身份登录到计算机,Windows 也会以权限受限的用户帐户身份运行应用程序。当在 Windows Vista 上使用应用程序级模拟运行 Web 应用程序时,必须在管理员帐户的上下文中运行 Visual Studio。

“未能创建 Windows 用户标记”错误

如果在 Web.config 文件中将网站配置为使用基于应用程序的模拟(即使用固定帐户的模拟),并且运行 Web 服务器的帐户没有“作为操作系统的一部分”特权(也称为“受信任的计算基”(TCB) 特权),则会发生此错误。使用如下所示的语法,可以在 Web.config 文件中将网站配置为模拟某个特定帐户。

<identity impersonate="true" userName="<UserName>" password="<securepassword>" />
w566a94d.alert_security(zh-cn,VS.90).gif安全说明:

当在配置文件中存储敏感信息(如用户名和密码)时,应使用受保护的配置对敏感值进行加密。有关更多信息,请参见如何:在使用数据源控件时保证连接字符串的安全

启动 ASP.NET Development Server 的进程必须具有 TCB 特权。因此,如果网站配置为执行模拟,则必须向运行 Web 服务器的帐户授予 TCB 特权。

w566a94d.alert_security(zh-cn,VS.90).gif安全说明:

TCB 特权非常强大,通常 TCB 特权只应授予尽量少的帐户。如果网站要使用模拟,并且不向运行 Web 服务器的帐户授予 TCB 特权就无法使用 ASP.NET Development Server,则可以考虑使用 Internet 信息服务 (IIS) 来测试网站,以免不必要地向帐户授予特权。

“无法显示页”错误(502 错误)

造成 502 错误或指示页无法显示的错误的一个可能原因是,浏览器无法解析包含“localhost”和端口号的 URL(如 https://localhost:8080/ExampleWebSite/Default.aspx)。ASP.NET Development Server 以独占方式使用 localhost,在默认情况下,对每个请求都使用随机选择的端口号。

通过跳过用于本地请求的代理服务器,可能可以解决此错误。有关详细信息,请参见如何:对于本地 Web 请求不使用代理服务器

“连接被拒绝”错误

服务器报告以下错误。

10061 - Connection Refused
Internet Security and Acceleration Server

如果计算机在受 Internet Security and Acceleration Server (ISA Server) 保护的网络上运行,并且满足以下条件之一,就会发生此错误:

  • 未安装防火墙客户端。

  • Internet Explorer 中的 Web 代理配置不正确。

使用 IIS 时不会发生此错误,因为 IIS 使用端口 80,而 ISA Server 和其他防火墙产品允许访问端口 80。但是,ASP.NET Development Server 随机选择端口,而 ISA Server 等防火墙产品会阻止对大多数端口的访问。

避免此问题的方法如下:

  • 安装防火墙客户端软件,如 ISA 客户端。

  • 修改 Internet Explorer 中的 Web 代理连接设置,以跳过用于本地地址的代理服务器。

“超过 BIOS 限制”错误

如果使用的是文件系统 Web 应用程序,而该应用程序的文件在远程计算机上,则可能发生此错误。如果尝试使用 ASP.NET Development Server 运行页,则此错误是在运行时发生的错误。

如果远程计算机运行的是 Windows 2000 或 Windows XP,极可能出现此错误。如果远程计算机运行的是 Windows 2000,可以按照“Microsoft Knowledge Base”(Microsoft 知识库)文章 810886 中的说明,将最大并发连接数设置为一个较大的数。如果运行的是 Windows XP,通过关闭远程计算机上的现有共享资源(包括终端服务器会话),可能可以避免此错误。(Windows XP 被配置为使用固定的最大并发网络请求数。)如果可行,还可以将 Web 应用程序文件复制到本地计算机,在本地计算机上测试该应用程序。

不能使用静态文件

在文件系统网站中,静态文件(如图像和样式表)受到 ASP.NET 授权规则的影响。例如,如果禁用了对静态文件的匿名访问,匿名用户则不能使用文件系统网站中的静态文件。但是,将网站部署到运行 IIS 的服务器时,IIS 将提供静态文件而不使用授权规则。

请参见

概念

Visual Web Developer 中的网站类型