当我尝试发布时,我收到以下错误:
Web部署任务失败。(由于服务器没有响应,无法使用指定的进程(“Web部署代理服务”)连接到远程计算机(“###.###.###.###”)。请确保在远程计算机上启动进程(“Web部署代理服务”)。有关详细信息,请访问:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC。)
我已经检查了“了解更多”链接建议检查的每一项。我已经验证了MsDepSvc和WMSVC都在运行,并且端口80和8172都响应端口扫描。在发布设置中,对于服务URL,我正在使用远程计算机的IP地址(http://###.###.###.###)。对于用户名,我正在使用DomainName\Administrator,这是我使用RDP登录时使用的内容。
我已经在MSDN论坛上发布了帖子,其中一位成员建议我将Web部署工具从V2.0回滚到V1.1。虽然我已经这样做了,但并没有改变任何事情。
按照SO问题答案中的建议,我尝试从命令行运行
msdeploy
。
从服务器的命令行中,我得到了以下内容:
C:\Program Files\IIS\Microsoft Web Deploy>msdeploy -verb:dump -source:dirpath=c:\temp,computername=http://SeverName:80/msdeployagentservice,username=Administrator,password=XXXX -verbose -debug Verbose: 使用 ID 'c12c3392-2290-44b7-9434-dbd0ff5f9385' 连接到远程服务器。Verbose: 预身份验证远程代理 URL 'http://ServerName:80/msdeployagentservice' 作为 'Administrator'。 MSDeploy.dirPath (name=MSDeploy.dirPath) c:\temp (name=dirPath) (keyAttribute=c:\temp) (linkName=Child1)
从开发机器的命令行中,我得到了以下内容:
"C:\Program Files\IIS\Microsoft Web Deploy V3>msdeploy -verb:dump -source:dirpath =c:\temp,computername=http://###.###.###.###:80/msdeployagentservice,username=Administrator,password=XXXX -verbose -debug Info: 使用ID“7f0b7d5b-e202-424c-a7dd-246920253081”进行远程服务器连接。详细信息:预身份验证到远程代理URL 'http://###.###.###.###:80/msdeployagentservice',用户名为 'Administrator'。详细信息:预身份验证到远程代理URL 'http://###.###.###.###:80/msdeployagentservice',用户名为 'Administrator'。错误代码:ERROR_COULD_NOT_CONNECT_TO_REMOTESVC 更多信息:使用指定的进程(“Web Deployment Agent Service”)无法连接到远程计算机(“###.###.###.###”),因为服务器未响应。请确保远程计算机上已启动进程(“Web Deployment Agent Service”)。了解更多信息,请访问:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC。了解更多信息,请访问:http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC。---> Microsoft.Web.Deployment.DeploymentException: 无法创建类型为'dirPath'和路径为'c:\temp'的对象。 ---> System.Net.WebException: 远程服务器返回错误:(400) 错误请求。 在 System.Net.HttpWebRequest.GetResponse() 在 Microsoft.Web.Deployment.AgentClientProvider.GetHttpResponse(HttpWebRequest request) --- 内部异常堆栈跟踪的结尾 --- --- 内部异常堆栈跟踪的结尾 --- 在 Microsoft.Web.Deployment.DeploymentManager.CreateObjectPrivate(DeploymentProviderContext providerContext, DeploymentBaseOptions baseOptions, DeploymentObject sourceObject, String serverVersion) 在 Microsoft.Web.Deployment.DeploymentManager.CreateObject(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions) 在 MSDeploy.MSDeploy.CreateObject(DeploymentProviderOptions providerOptions, DeploymentBaseOptions baseOptions) 在 MSDeploy.MSDeploy.ExecuteWorker() 在 MSDeploy.MSDeploy.Execute() 错误数:1。"使用Wireshark,我发现我成功登录后,在
POST /MSDEPLOYAGENTSERVICE
之后,我收到了一个错误400:Bad request,如下所示:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">\r\n
<HTML><HEAD><TITLE>Bad Request</TITLE>\r\n
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>\r\n
<BODY><h2>Bad Request - Invalid Content Length</h2>\r\n
<hr><p>HTTP Error 400. There is an invalid content length or chunk length in the request.</p>\r\n
</BODY></HTML>\r\n
我能找到唯一提到这种特定行为的是ISA Server 2000的Microsoft Support Article。
我还应该看什么?