在某些服务器上,我有一个运行作业的ASP.NET处理程序。这项工作可以轻松运行10分钟。我正在使用Powershell在我的构建服务器上使用此脚本调用此处理程序:
$url = 'http://<joburl>'
$response = Invoke-RestMethod -Uri ($url) -method GET
Write-Output -InputObject $response
只需调用URL并执行此作业即可。但我的工作是显示状态信息。它会不断刷新输出缓冲区以在请求期间显示此消息。因此,在浏览器中,当它仍在等待作业完成时,它会显示这些消息。我的Powershell脚本在请求完成后显示这些消息。有什么办法可以在请求仍然加载时显示这些状态消息吗?
答案 0 :(得分:0)
如果您想实时查看结果,请确保不将结果存储到变量中。这是一个很好的invoke-webrequest简介。这是一个样本。
这将在数据输入时将数据直接输出到控制台并进行解析。
Invoke-RestMethod -Uri "https://gdata.youtube.com/feeds/api/videos?v=2&q=Powershell" -Method GET
这会将所有数据存储在变量中,等待接收所有数据,然后将数据输出到控制台。
$result = Invoke-RestMethod -Uri "https://gdata.youtube.com/feeds/api/videos?v=2&q=Powershell" -Method GET
$result
尝试这些示例,看看这是否是您遇到的问题。
答案 1 :(得分:0)
您需要的是Invoke-WebRequest。通过它,您可以获得一个对象作为具有名为Content的属性的响应,因此您可以执行以下操作:
public enum ExampleClass {
INSTANCE("nothing"),
ITEM;
private String description;
private ExampleClass(String description) {
this.description = description;
}
static{
ITEM = new ExampleClass("ITEM", 1, "this is an item");
}
}
从页面获取结果。
希望有所帮助!