gpt4 book ai didi

powershell - Powershell httplistener同时处理多个请求

转载 作者:行者123 更新时间:2023-12-03 00:19:21 25 4
gpt4 key购买 nike

我正在使用普通的Powershell httplistener脚本。
该脚本在端口80上侦听并给出响应。

现在,我尝试同时处理多个请求。问题在于第二个响应必须等待脚本完成第一个响应。

我尝试为每个http请求开始自己的工作-但是我无法从PS-Job向侦听器发送响应。

有谁知道,如何在PS中处理并行的httprequest?

这是我正在使用的脚本:

$url = 'http://localhost/'
$listener = New-Object System.Net.HttpListener
$listener.Prefixes.Add($url)
$listener.Start()

Write-Host "Listening at $url..."

while ($listener.IsListening)
{
$context = $listener.GetContext()
$requestUrl = $context.Request.Url
$response = $context.Response

Write-Host ''
Write-Host "> $requestUrl"

$localPath = $requestUrl.LocalPath
$route = $routes.Get_Item($requestUrl.LocalPath)

if ($route -eq $null)
{
$response.StatusCode = 404
}
else
{
$content = & $route
$buffer = [System.Text.Encoding]::UTF8.GetBytes($content)
$response.ContentLength64 = $buffer.Length
$response.OutputStream.Write($buffer, 0, $buffer.Length)

}
$response.Close()

$responseStatus = $response.StatusCode
Write-Host "< $responseStatus"
}

什么是同时处理多个请求的正确方法?
谢谢@all!

最佳答案

您可以在同一PowerShell进程中使用多个运行空间(甚至是运行空间池)。有关如何执行此操作的详细信息,请参见此blog post

关于powershell - Powershell httplistener同时处理多个请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19297831/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com