无法在web服务器上启动调试,服务器因语法无效而未能处理调试请求!!

时间:2022-06-16 17:53:54
我使用vs.net2005建立一个在iis上面的http网站,结果无法启动调试,请问什么原因!!

5 个解决方案

#1


无法在 Web 服务器上启动调试 
当试图对运行在 Web 服务器上的应用程序进行调试时,有时可能会得到此错误信息:
Unable to start debugging on the Web server如果您的消息更长一些,则会用这个消息的子主题覆盖您的消息。

如果遇到此错误,则需要考虑几个问题。首先转到“要检查的内容”,然后根据硬件和软件配置考虑其余几项内容。

要检查的内容

请尝试检查下列内容: 

检查 ASP.NET 或 ATL Server 的设置过程。有关更多信息,请参见为调试 ASP.NET 应用程序做好准备。

您是否具有进行调试所必需的访问特权?有关更多信息,请参见 ASP.NET 调试:系统要求中的“安全要求”一节。

您是否正在运行一个允许 Visual Studio 调试器自动附加到 Web 应用程序的 Windows 版本?如果不是,则需要启动应用程序而不调试,然后手动附加到它。(有关更多信息,请参见“手动附加”和 ASP.NET 调试:系统要求。)

您的 Web 应用程序是否具有 Web.config 文件? 

Web.config 文件是否通过将 debug 属性设置为 true 而启用了调试模式?有关更多信息,请参见如何:为 ASP.NET 应用程序启用调试。

Web.config 文件是否包含任何语法错误?您可以通过运行 Web 应用程序而不调试来检查是否存在语法错误。(从“调试”菜单中,选择“开始执行(不调试)”。)如果在 Web.config 中存在语法错误,则会显示详细信息。

您是否是通过指定特定的 IP 地址(如 100.20.300.400)而创建了项目?调试 Web 服务器要求 NTLM 身份验证。默认情况下,IP 地址被假定为 Internet 的一部分,而在 Internet 上不进行 NTLM 身份验证。若要更正这一问题: 

创建项目时,指定 Intranet 上计算机的名称。 

- 或 - 

将 IP 地址 (http://100.20.300.400) 添加到您的计算机上的受信任站点列表中。(从 Internet Explorer 的“工具”菜单中,选择“Internet 选项”,然后选择“安全”选项卡)。

是否在服务器计算机上注册了必要的扩展?如果尚未注册,请按下面过程中介绍的方法重新注册 ASP.NET。

是否在安装 Visual Studio 后,将 IIS 安装到运行 Visual Studio 的本地计算机上?IIS 应在安装 Visual Studio 之前安装。如果在之后安装,则可能需要重新注册 ASP.NET。 

重新注册 ASP.NET
从命令提示窗口中,运行下列命令:systemroot\Microsoft.NET\Framework\versionNumber \aspnet_regiis -i

注意   对于 WindowsServer 2003,可以使用“添加/删除程序”控制面板安装 ASP.NET。

插入 Visual Studio 光盘,运行安装程序,然后选择“修复/重新安装”。此步骤将创建 wwwroot$ 共享目录并添加适当的权限。


是否正确地指定了项目起始页的 URL?扩展名和项目目录是否正确?

验证 Web 应用程序的 IIS 设置。有关更多信息,请参见如何:验证 IIS 属性设置。

如果您在 Web 服务器上安装了两个版本的 .NET Framework,则请验证是否在 IIS 设置中设置了正确的版本。有关更多信息,请参见如何:验证 IIS 属性设置。 

。 
远程服务器上的 Web 应用程序

如果 Web 应用程序在远程服务器上,请首先确保仔细检查了“要检查的内容”中的各项内容。接下来请检查以下内容: 

运行 IIS 服务器的计算机是否已安装 Visual Studio 远程组件?有关更多信息,请参见为调试 ASP.NET 应用程序做好准备。

您是否具有进行调试所必需的访问特权?有关更多信息,请参见 ASP.NET 调试:系统要求中的“安全要求”一节。

您是否正在使用“终端服务器”尝试调试远程计算机上的 Web 应用程序?在 Windows XP 下,支持使用“终端服务器”对本机 Web 应用程序进行远程调试。而在 Windows 2000 或 Windows NT 下则不支持。

存储在 Visual SourceSafe 中并使用 FrontPage 服务器扩展的 Web 应用程序

如果 Web 应用程序存储在 Visual SourceSafe 中并且使用 FrontPage 服务器扩展作为它的 Web 访问模式,则请检查以下内容: 

Visual SourceSafe 是否与 FrontPage 服务器/Web 服务器位于同一台计算机上?如果是,则可以使用“集成身份验证”进行调试。若要检查“集成身份验证”设置,请参见过程“检查 Web 应用程序的 IIS 安全设置”,它位于主题如何:验证 IIS 属性设置中。

服务器因语法无效而未能处理调试请求

有时,服务器会因语法错误而无法处理调试请求。machine.config 文件中的错误可能导致请求语法出错。如果 machine.config 文件将 maxRequestLength 设为一个异常巨大的值(例如 40,960,000),则会发生此错误。

手动附加

如果按照这些疑难解答步骤执行了相应操作,而在开始调试时仍然收到错误信息,则可能需要尝试通过手动附加来调试应用程序。

手动附加
启动应用程序而不调试。(从“调试”菜单中,选择“开始执行(不调试)”。)

确定适当的 IIS 进程或辅助进程的名称。默认情况下,ATL Server 应用程序名为 inetinfo.exe。若要确定 ASP.NET 辅助进程的名称,请参见如何:查找 ASP.NET 进程的名称。 

使用下面的过程之一来确定 ASP.NET 或 ATL Server 应用程序在哪个进程下运行。 

附加到前一步骤确定的进程。有关更多信息,请参见如何:附加到运行进程。

检查 ASP.NET 应用程序在哪个进程下运行
使用 Visual Studio 或其他文本编辑器打开应用程序的 machine.config 文件。

在 system.web 节点内,查找 ProcessModel 节点,然后检查它的 enable 属性: 

如果 enable 设置为 TRUE,则应用程序在 aspnet_wp.exe 或 w3wp.exe 下运行。(这也是默认设置。) 

如果 enable 设置为 FALSE,则应用程序在 inetinfo.exe 下运行。 

检查 ATL Server 应用程序在哪个进程下运行
在解决方案资源管理器中,右击项目名称,然后从快捷菜单中选择“属性”。

在“<项目> 属性页”对话框中,打开“Web 部署”文件夹,然后选择“常规”。

查看“应用程序保护”设置。 

如果此设置为“低(IIS 进程)”,则应用程序在 inetinfo.exe 下运行。 

如果此设置为“中等(池)”,则应用程序在 dllhost.exe 进程下运行(与其他放入池中的 ATL Server 应用程序相同)。

如果此设置为“高(独立)”,则应用程序在 dllhost.exe 进程下运行(与其他 ATL Server 应用程序不同)。 

单击“确定”关闭“<项目> 属性页”对话框。

#2


GZ

#3


是怎么建立的?详细的步骤

#4


Up
jf

#5


帮LZ顶

#1


无法在 Web 服务器上启动调试 
当试图对运行在 Web 服务器上的应用程序进行调试时,有时可能会得到此错误信息:
Unable to start debugging on the Web server如果您的消息更长一些,则会用这个消息的子主题覆盖您的消息。

如果遇到此错误,则需要考虑几个问题。首先转到“要检查的内容”,然后根据硬件和软件配置考虑其余几项内容。

要检查的内容

请尝试检查下列内容: 

检查 ASP.NET 或 ATL Server 的设置过程。有关更多信息,请参见为调试 ASP.NET 应用程序做好准备。

您是否具有进行调试所必需的访问特权?有关更多信息,请参见 ASP.NET 调试:系统要求中的“安全要求”一节。

您是否正在运行一个允许 Visual Studio 调试器自动附加到 Web 应用程序的 Windows 版本?如果不是,则需要启动应用程序而不调试,然后手动附加到它。(有关更多信息,请参见“手动附加”和 ASP.NET 调试:系统要求。)

您的 Web 应用程序是否具有 Web.config 文件? 

Web.config 文件是否通过将 debug 属性设置为 true 而启用了调试模式?有关更多信息,请参见如何:为 ASP.NET 应用程序启用调试。

Web.config 文件是否包含任何语法错误?您可以通过运行 Web 应用程序而不调试来检查是否存在语法错误。(从“调试”菜单中,选择“开始执行(不调试)”。)如果在 Web.config 中存在语法错误,则会显示详细信息。

您是否是通过指定特定的 IP 地址(如 100.20.300.400)而创建了项目?调试 Web 服务器要求 NTLM 身份验证。默认情况下,IP 地址被假定为 Internet 的一部分,而在 Internet 上不进行 NTLM 身份验证。若要更正这一问题: 

创建项目时,指定 Intranet 上计算机的名称。 

- 或 - 

将 IP 地址 (http://100.20.300.400) 添加到您的计算机上的受信任站点列表中。(从 Internet Explorer 的“工具”菜单中,选择“Internet 选项”,然后选择“安全”选项卡)。

是否在服务器计算机上注册了必要的扩展?如果尚未注册,请按下面过程中介绍的方法重新注册 ASP.NET。

是否在安装 Visual Studio 后,将 IIS 安装到运行 Visual Studio 的本地计算机上?IIS 应在安装 Visual Studio 之前安装。如果在之后安装,则可能需要重新注册 ASP.NET。 

重新注册 ASP.NET
从命令提示窗口中,运行下列命令:systemroot\Microsoft.NET\Framework\versionNumber \aspnet_regiis -i

注意   对于 WindowsServer 2003,可以使用“添加/删除程序”控制面板安装 ASP.NET。

插入 Visual Studio 光盘,运行安装程序,然后选择“修复/重新安装”。此步骤将创建 wwwroot$ 共享目录并添加适当的权限。


是否正确地指定了项目起始页的 URL?扩展名和项目目录是否正确?

验证 Web 应用程序的 IIS 设置。有关更多信息,请参见如何:验证 IIS 属性设置。

如果您在 Web 服务器上安装了两个版本的 .NET Framework,则请验证是否在 IIS 设置中设置了正确的版本。有关更多信息,请参见如何:验证 IIS 属性设置。 

。 
远程服务器上的 Web 应用程序

如果 Web 应用程序在远程服务器上,请首先确保仔细检查了“要检查的内容”中的各项内容。接下来请检查以下内容: 

运行 IIS 服务器的计算机是否已安装 Visual Studio 远程组件?有关更多信息,请参见为调试 ASP.NET 应用程序做好准备。

您是否具有进行调试所必需的访问特权?有关更多信息,请参见 ASP.NET 调试:系统要求中的“安全要求”一节。

您是否正在使用“终端服务器”尝试调试远程计算机上的 Web 应用程序?在 Windows XP 下,支持使用“终端服务器”对本机 Web 应用程序进行远程调试。而在 Windows 2000 或 Windows NT 下则不支持。

存储在 Visual SourceSafe 中并使用 FrontPage 服务器扩展的 Web 应用程序

如果 Web 应用程序存储在 Visual SourceSafe 中并且使用 FrontPage 服务器扩展作为它的 Web 访问模式,则请检查以下内容: 

Visual SourceSafe 是否与 FrontPage 服务器/Web 服务器位于同一台计算机上?如果是,则可以使用“集成身份验证”进行调试。若要检查“集成身份验证”设置,请参见过程“检查 Web 应用程序的 IIS 安全设置”,它位于主题如何:验证 IIS 属性设置中。

服务器因语法无效而未能处理调试请求

有时,服务器会因语法错误而无法处理调试请求。machine.config 文件中的错误可能导致请求语法出错。如果 machine.config 文件将 maxRequestLength 设为一个异常巨大的值(例如 40,960,000),则会发生此错误。

手动附加

如果按照这些疑难解答步骤执行了相应操作,而在开始调试时仍然收到错误信息,则可能需要尝试通过手动附加来调试应用程序。

手动附加
启动应用程序而不调试。(从“调试”菜单中,选择“开始执行(不调试)”。)

确定适当的 IIS 进程或辅助进程的名称。默认情况下,ATL Server 应用程序名为 inetinfo.exe。若要确定 ASP.NET 辅助进程的名称,请参见如何:查找 ASP.NET 进程的名称。 

使用下面的过程之一来确定 ASP.NET 或 ATL Server 应用程序在哪个进程下运行。 

附加到前一步骤确定的进程。有关更多信息,请参见如何:附加到运行进程。

检查 ASP.NET 应用程序在哪个进程下运行
使用 Visual Studio 或其他文本编辑器打开应用程序的 machine.config 文件。

在 system.web 节点内,查找 ProcessModel 节点,然后检查它的 enable 属性: 

如果 enable 设置为 TRUE,则应用程序在 aspnet_wp.exe 或 w3wp.exe 下运行。(这也是默认设置。) 

如果 enable 设置为 FALSE,则应用程序在 inetinfo.exe 下运行。 

检查 ATL Server 应用程序在哪个进程下运行
在解决方案资源管理器中,右击项目名称,然后从快捷菜单中选择“属性”。

在“<项目> 属性页”对话框中,打开“Web 部署”文件夹,然后选择“常规”。

查看“应用程序保护”设置。 

如果此设置为“低(IIS 进程)”,则应用程序在 inetinfo.exe 下运行。 

如果此设置为“中等(池)”,则应用程序在 dllhost.exe 进程下运行(与其他放入池中的 ATL Server 应用程序相同)。

如果此设置为“高(独立)”,则应用程序在 dllhost.exe 进程下运行(与其他 ATL Server 应用程序不同)。 

单击“确定”关闭“<项目> 属性页”对话框。

#2


GZ

#3


是怎么建立的?详细的步骤

#4


Up
jf

#5


帮LZ顶