Web部署任务失败.无法连接...服务器没有响应

emb*_*yle 65 deployment iis msdeploy visual-studio webdeploy

我已经使用Visual Studio 2012 RC将我的Lightswitch应用程序发布到我的localhost(Win 7,SQL 2008 R2,IIS 7.5)就好了.现在我正在尝试发布到远程服务器(Win 2008 R2,SQL 2008 R2,IIS 7.5),我遇到了麻烦.

当我尝试发布时,收到以下错误:

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详细:使用ID"c12c3392-2290-44b7-9434-dbd0ff5f9385"连接到远程服务器.详细:对远程代理URL'http:// ServerName:80/msdeployagentservice '进行预身份验证,作为"管理员".MSDeploy.dirPath(name = MSDeploy.dirPath)c:\ temp(name = dirPath)(keyAttribute = c:\ temp)(linkName = Child1)

dev机器上的命令行我得到:

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信息:使用ID"7f0b7d5b-e202-424c-a7dd-246920253081"连接到远程服务器.详细:对远程代理URL'http://###.###.###.###:80/msdeployagentservice ' 预先验证为"管理员".详细:对远程代理URL'http://###.###.###.###:80/msdeployagentservice ' 预先验证为"管理员".错误代码:ERROR_COULD_NOT_CONNECT_TO_REMOTESVC更多信息:无法使用指定的进程("Web部署代理服务")连接到远程计算机("###.###.###.###"),因为服务器没有响应.确保在远程计算机上启动该过程("Web部署代理服务").有关详情,请访问: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请求)---内部异常堆栈跟踪结束--- ---内部异常结束堆栈跟踪---在Microsoft位于MSDeploy.MSDeploy.CreateObject的Microsoft.Web.Deployment.DeploymentManager.CreateObject(DeploymentProviderOptions providerOptions,DeploymentBaseOptions baseOptions)中的.Web.Deployment.DeploymentManager.CreateObjectPrivate(DeploymentProviderContext providerContext,DeploymentBaseOptions baseOptions,DeploymentObject sourceObject,String serverVersion)(DeploymentProviderOptions providerOptions,DeploymentBaseOptions baseOptions) )MSDeploy.MSDeploy.ExecuteWorker()at MSDeploy.MSDeploy.Execute()
at MSDeploy.MSDeploy.Main(String [] unusedArgs)错误计数:1.

使用Wireshark,我发现我正在登录,但是在POST /MSDEPLOYAGENTSERVICE我收到错误400:错误的请求后,看起来像这样:

<!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
Run Code Online (Sandbox Code Playgroud)

我能找到的唯一提到这种特定行为的是ISA Server 2000 的Microsoft支持文章.

我还应该注意什么?

Luc*_*ian 67

当我使用"Web Platform Installer 5.0"安装Web Deploy 3.5时,我遇到了同样的问题

当我尝试从Visual Studio发布时,我收到此错误:

---------------------------
Microsoft Visual Studio
---------------------------
Could not connect to the remote computer ("10.0.3.102") using the specified process 
("Web Management Service") because the server did not respond. Make sure that the process 
("Web Management Service") is started on the remote computer.  Learn more at: 
http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC. 
The remote server returned an error: (403) Forbidden.
---------------------------
OK   
---------------------------
Run Code Online (Sandbox Code Playgroud)

我仔细检查了服务,两者都在运行.我也关闭了防火墙,仍然是同样的错误.

我是如何解决这个问题的:

  1. 打开"添加或删除"程序
  2. 单击"Microsoft Web Deploy"
  3. 点击"更改"按钮(除了"卸载")
  4. 单击"下一步"

在此输入图像描述

  1. 点击"更改"

在此输入图像描述

  1. 添加标有红色X的功能

在此输入图像描述

  1. 完成安装

    结果:从Visual Studio发布正在运行

  • 卢锡安你是老大!!为什么默认情况下不选择此选项? (3认同)
  • @ John'Mark'Smith在安装IIS管理服务角色之前安装Web Deploy时,会发生这种情况.来自iis.net:必须使用Management Service Integration组件安装Web Deploy.(要使此选项显示在Web Deploy安装程序中,必须首先启用Web管理服务.) (3认同)
  • 似乎在安装Web Deploy 3.6之前需要首先安装Web管理服务(至少在我的情况下由于某种原因).典型的MS指令根本没有提到这一点.我尝试使用Web Deploy 3.6安装程序安装Management Service,但一切都搞砸了.我不得不卸载Web Deploy 3.6并重新安装它,然后一切都很顺利.另外,请仔细检查Web部署代理和Web管理服务是否正在运行. (3认同)
  • 希望这会奏效,但遗憾的是它没有。没有任何工作。 (2认同)

Chr*_*sic 58

我昨天遇到了这个.在我的场景中,它完全归结为它要求Site Name:我提供的发布设置MyApplication.当它真的期待我提供:

Default Web Site/MyApplication
Run Code Online (Sandbox Code Playgroud)

我向Microsoft部署团队提出了这一点,所以希望他们能够清楚地说明,如果您没有指定现有的站点名称,那么Web部署服务器就不会像这个错误让您思考的那样死机.

  • 我有同样的问题.Web部署就是这样一个b1tch! (2认同)
  • 我的天啊.非常感谢克里斯! (2认同)
  • 我住在澳大利亚克里斯,但如果我在波士顿,或者如果你想来这里,我会给你买几瓶啤酒。 (2认同)

elg*_*ego 11

我遇到了同样的问题,并通过删除程序文件(x86)\ IIS和Program Files\IIS中的所有Web部署文件夹来解决它.

之后我重新安装了web deploy 1.1和web deploy 3.0,没有捆绑的SQL.

  • 这对我有用.我想我可能安装了多个版本的Web Deploy.按照描述删除文件夹中的所有Web部署后,我还安装了没有捆绑SQL的Web Deploy 3.0.在此之前,我已经在WebPI中的"推荐的主题工作人员"项目中安装了大部分项目. (2认同)

kab*_*ced 8

使用来自几个论坛的信息和答案,我终于设法安装了 Microsoft 的 Web Deploy,我可以使用它成功地从 Visual Studio 发布(在未激活防火墙的情况下进行测试):

  1. 使用服务器管理器中的“添加角色功能”为 IIS 安装“管理服务”
  2. 安装 Web 部署(重要:“完成”并且在安装“管理服务”之后) http://www.iis.net/downloads/microsoft/web-deploy#additionalDownloads

  3. 确保在服务器级别的 IIS 中

    • 打开“管理服务”
    • 允许 Windows 和 IIS 凭据
  4. 在站点级别的 IIS 中
    • 打开“IIS管理器权限”
    • 添加用于实际发布的用户,例如管理员

如果防火墙处于活动状态:启用“文件共享”和“远程服务管理”


phi*_*ady 6

要解决问题,我使用了以下步骤:服务器:WS2012.DEV Vs2012项目MVC4.

1)在服务器上创建具有所需名称的空站点,或者在发布时使用"默认网站"(如果尚未将默认值重命名为其他内容).

我在这个链接中使用了信息

在使用WPI的服务器上安装以下内容

为托管服务器安装Web Deploy(3.5)

Web Hosting提供商的推荐服务器配置

我确定其他版本没有安装

所以验证您正在使用的站点名称....我使用AdminUI.这是在测试服务器上创建的空站点

站点名称很重要.

因此,在使用向导时,请匹配站点名称

发布向导

确保服务器上正在运行相关服务.并且您有足够的权限写入网站

服务


小智 6

我已经通过重新启动 Web 管理服务在我的服务器上解决了这个问题