asp.net - New-WebServiceProxy cmdlet 失败并出现 "The operation has timed out"异常

标签 asp.net web-services powershell timeout powershell-2.0

我正在使用 PowerShell 部署 ASP.NET 应用程序。它包括 Web 服务,我需要在部署 Web 应用程序后立即调用它的方法之一。显然,此请求需要时间,因为它应该“预热”网站。

因此,我直接调用 New-WebServiceProxy获取代理对象然后调用方法:

$ps = New-WebServiceProxy -Uri "http://mysite/folder/myservice.asmx"

但是,此操作需要一些时间,并且总是失败并出现超时异常。我应该说这一切都发生在远程 session 中。当应用程序部署在本地(因此脚本在本地 session 中运行)时,调用成功。

我已经验证了executionTimeout <httpRuntime>的在 web.config 中 - 它有相当大的超时。但我的假设是,在第一次调用之前没有考虑到这一点。所以,我假设它是 New-WebServiceProxy 的某些属性/开关。 ,这应该会影响这种行为,但我没有找到它。

有人有想法吗?

附注我使用的是PowerShell 2.0,但如果v3.0中有解决方案,则可以接受。

最佳答案

如果问题确实是超时,请在 PowerShell V3 上尝试此方法:

$wr = Invoke-WebRequest http://mysite/folder/myservice.asmx?wsdl -TimeoutSec 30
$wr.Content | Out-File -enc utf8 c:\myservice.wsdl
$ps = New-WebServiceProxy file:///c:\myservice.wsdl

顺便说一句,您的问题可能是 URI 上缺少 ?wsdl

关于asp.net - New-WebServiceProxy cmdlet 失败并出现 "The operation has timed out"异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20500109/

相关文章:

c# - LINQ to Entities 无法识别方法...方法,并且该方法无法转换为存储表达式。

java - "Content-Disposition"和 AngularJS header 中的文件名

android - Alexa 是否计算网站服务请求以进行排名?

excel - 使用 Powershell 添加新列并填充工作表名称

string - 使用 PowerShell 拆分字符串并对每个 token 执行某些操作

javascript - 图像未显示在我的 mvc 应用程序中

jQuery 语法错误,标签 id 包含 `$` 符号时出现无法识别的表达式错误

javascript - 为什么将 string 转换为 int 时不能正确工作(parseInt)?

web-services - 当您使用带有客户端证书的相互 SSL 时,是否有任何理由签署消息体

powershell - Get-AzureVM 不返回任何内容