我一直在使用Visual Studio 2012 RC将我的Lightswitch应用发布到本地主机(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,计算机名= http:// SeverName:80 / msdeployagentservice,用户名=管理员,密码= XXXX-详细 -debug详细:使用ID'c12c3392-2290-44b7-9434-dbd0ff5f9385'连接到远程服务器。详细信息:以“管理员”身份对远程代理URL'http:// ServerName:80 / msdeployagentservice '进行预身份验证。MSDeploy.dirPath(名称= MSDeploy.dirPath)c:\ temp(名称= dirPath)(keyAttribute = c:\ temp)(linkName = Child1)
从开发机上的命令行我得到:
C:\ Program Files \ IIS \ Microsoft Web Deploy V3> msdeploy -verb:dump -source:dirpath = c:\ temp,计算机名= http://###.###.###.###: 80 / msdeployagentservice,用户名=管理员,密码= 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 request)-内部异常堆栈跟踪的结尾--内部异常堆栈跟踪的结尾Microsoft MSWeb.Deployment.DeploymentManager.CreateObjectPrivate(DeploymentProviderContext providerContext,DeploymentBaseOptions baseOptions,DeploymentObject sourceObject,字符串serverVersion)在MSDeploy.MSDeploy处。
在MSDeploy.MSDeploy.Main(String []未使用Args)处错误计数: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
我唯一发现提到此特定行为的是有关ISA Server 2000的Microsoft支持文章。
我还要看什么?