【发布时间】:2013-12-10 16:40:11
【问题描述】:
我正在使用 PowerShell 部署 ASP.NET 应用程序。它包括 Web 服务,我需要在部署 Web 应用程序后立即调用它的方法之一。显然,这个请求需要一些时间,因为它应该“预热”网站。
所以,我直接调用New-WebServiceProxy 来获取代理对象,然后调用一个方法:
$ps = New-WebServiceProxy -Uri "http://mysite/folder/myservice.asmx"
但是,此操作需要一些时间,并且总是会因超时异常而失败。我应该说这一切都发生在远程会话中。当应用程序在本地部署时(因此脚本在本地会话中运行),调用成功。
我已经在 web.config 中验证了 <httpRuntime> 的 executionTimeout - 它有相当大的超时。但我的假设是在第一次调用之前没有考虑到它。所以,我认为这是New-WebServiceProxy 的一些属性/开关,应该会影响这种行为,但我没有找到它。
有人有想法吗?
附:我使用的是 PowerShell 2.0,但如果解决方案在 v3.0 中,则可以接受。
【问题讨论】:
标签: asp.net web-services powershell timeout powershell-2.0