我一直在使用 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都响应端口扫描。在发布设置中,对于 ServiceURL,我使用的是远程计算机的 IP 地址(http://###.###.###.###)。对于用户名,我使用 DomainName 管理员,这是我使用 RDP 登录时使用的。
我在 MSDN 论坛上发表了一篇文章,其中一位成员建议我将 Web 部署工具从 V2.0回滚到 V1.1。我已经这么做了,但这改变不了什么。
按照这个 有个问题答案中的建议,我尝试从命令行运行 msdeploy
。
从 < em > 伺服器 的命令行我得到:
C: Program Files IIS MicrosoftWeb Deploy > msloy- 谓词: dump - source: dirpath = c: temp,computer name = http://SeverName:80/msdeployagentservice,username=Administrator,password=XXXX - Verbose-debug Verbose: 使用 ID‘ c12c3392-2290-44b7-9434-dbd0ff5f9385’连接到远程 详细说明: 对远程代理 URL 进行预验证 “ http://ServerName:80/msdeployagentservice”为“管理员”。 DirPath (name = MSDeploy.dirPath) c: temp (name = dirPath) (keyAttribute = c: temp)(linkName = Child1)
从 开发机器的命令行我得到:
C: Program Files IIS MicrosoftWebDeploy V3 > msloy- 谓词: dump 来源: dirpath = c: temp,computer tername = http://###.###.###.###:80/msdeployagentservice,username=Administrator,password=XXXX-verose-debug Info: 使用 ID’7f0b7d5b-e202-424c-a7add-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.DeploymentException: 无法创建类型为“ dirPath”和路径为“ c: temp”的对象 System.Net.WebException: 远程服务器返回一个错误: (400) 错误请求.at System.Net.HttpWebRequest.GetResponse () at Microsoft.Web.Deployment.AgentClientProvider.GetHttpResponse (HttpWebRequest Request)——-内部异常堆栈跟踪的结束——-—— - 内部异常堆栈跟踪——-at Microsoft.Web.DeploymentManager.CreateObjectPrivate (DeploymentProviderContext 提供上下文,部署基础选项基础选项,部署对象 源对象,字符串服务器版本) Microsoft.Web.DeploymentManager.CreateObject (DeploymentProviderOptions 提供者选项,部署基础选项基础选项) 创建对象(DeploymentProviderOptions) 提供者选项,部署基础选项基础选项) ExecuteWorker () at MSDeploy.MSDeploy. Execute ()
在 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
我能找到的唯一提到这个特定行为的东西是 ISAServer2000的 Microsoft 支持文章。
我还能看什么?