【发布时间】:2012-10-22 22:02:00
【问题描述】:
试图让 MSDeploy 工作,但它在 MSDeployPublish 任务上“挂起”。 它说
"Start Web Deploy 将应用程序/包发布到
https://myserver:8172/msdeloy.axd?site=mysite... 启动网络 来自源的部署任务:archiveDir(path to archive) to 目的地:auto()。”
然后它就停止了。在我终止进程之前,它会像这样坐 30 分钟,或者我想更长时间。
在它部署到的服务器上,在本例中为 myserver,MSDeploy 出现错误,内容如下:
ERROR_SERIALIZER_ALREADY_DISPOSED - 回调发生错误 线。这些错误通常是良性的,并且会自动处理。 详细信息如下: System.Web.HttpException:远程主机 关闭了连接。错误代码为 0x800704CD。在 System.Web.Hosting.IIS7WorkerRequest.RaiseCommunicationError(Int32 结果,布尔 throwOnDisconnect) 在 System.Web.Hosting.IIS7WorkerRequest.ExplicitFlush() 在 System.Web.HttpResponse.Flush(Boolean finalFlush) 在 System.IO.BufferedStream.FlushWrite() 在 System.IO.BufferedStream.Flush() 在 System.Xml.XmlTextWriter.Flush() 在 Microsoft.Web.Deployment.TraceEventStreamSerializer.WriteKeepAliveEvent()
我找不到其他错误日志或消息。
我可以点击 msdeploy 的 url,例如,如果我在浏览器中转到 https://myserver:8172/msdeloy.axd,我会收到自签名证书警告,然后提示输入凭据,因此服务器上的 MSDeploy 似乎已启动并正在运行。
服务器 (myserver) 是带有 IIS7 的 Windows 2008R2。
真正糟糕的是,如果我重新启动要部署到 (myserver) 的服务器,它就可以工作了!
对这里发生的事情有什么想法吗?
【问题讨论】:
-
服务器上安装了什么版本的 MSDeploy?客户?
-
我看到了同样的事情,尽管在我的情况下这是一个更普遍的错误消息:ERROR_SERIALIZER_ALREADY_DISPOSED - 回调线程上发生错误。这些错误通常是良性的,并且会自动处理。详细信息如下: System.ObjectDisposedException:无法访问已关闭的流。在 System.IO.BufferedStream.Write(Byte[] array, Int32 offset, Int32 count) 在 System.IO.StreamWriter.Flush(Boolean flushStream, Boolean flushEncoder) 在 System.Xml.XmlTextWriter.Flush() 在 Microsoft.Web。 Deployment.TraceEventStreamSerializer.WriteKeepAliveEvent()
-
@JoeYoung,你说它有效——它会在它再次中断之前继续有效多长时间?我发现它会连续挂四五次,但如果我坚持下去,它最终会通过......
-
@TerenceLewis,在这一点上我真的不知道。我刚刚将它与我们正在启动的项目的构建服务器连接起来,但还没有很多事情要做。我已经让它工作了几天,进行了几次“测试”部署,然后它挂起。
-
我在 Microsoft Web Deploy 错误日志中收到与 Terence 相同的错误消息。我无法重新启动我的生产 Web 服务器(因为它是唯一一个托管我的网站的服务器,我无法控制这个......企业环境)。我的替代方案/解决方法是重新启动 Web 管理服务(在重新启动失败后我不得不重新启动,并出现关于无法删除目录的奇怪消息)。我不确定是什么导致了最初的问题,但我会继续监控它。