我有一些用 node.js 编写的 http 测试工具,用于在 localhost 上测试我的 kestrel 服务器。Node.js 发出请求,但随后似乎挂起并超时。我可以在红隼日志中看到发出了 http 请求,并且使用邮递员和其他客户端工具向本地红隼服务器发出请求似乎有效。
为什么使用 node.js 发出 http 请求会在返回时挂起?向服务器发出请求似乎是成功的,但它是否正在等待某种 http 结束返回?
如果我将服务部署到 azure 并通过 Internet 访问相同的服务,它工作正常 - 它仅在它位于 localhost 并且客户端是 node.js 时挂起。
这是我的 node.js 代码
describe('homepage', function(){
it('should respond to GET',function(done){
superagent
.get('http://localhost:5000/message')
.end(function(err, res){
expect(res.status).to.equal(200);
done()
})
})
});
和我在本地主机上运行良好的简单 asp core/5 web api
[Route("/message")]
public class MessageController : Controller
{
[HttpGet]
public string Get()
{
return "hello";
}
}