我有一个Web应用程序充当各种内部服务的网关。使用HttpClient
的单个实例消耗这些服务,在启动时实例化(即Startup.cs
)
经过一段时间后,某些事情导致我们的HttpClient
停止访问我们的API,并且在使用该客户端的每次调用时立即失败并出现HTTP 502错误。 (请注意,我仍然可以使用其他方式点击我们的API,例如Postman)
另请注意,这些都部署到Azure中的各种AppServices。
关于什么可能以这种方式破坏HttpClient的任何想法?
谢谢, -Tim
答案 0 :(得分:0)
当您在代理服务器后面时,通常会出现此错误。
如果您使用代理,则可能需要再次验证http客户端。
另一种可能性是在它给出错误时再次生成Singleton实例,例如Singleton.killInstance();
如果您的实现是这样的:
public class Singleton
{
private static Singleton instance;
private Singleton() {}
public static Singleton instance
{
get
{
if (instance == null)
{
instance = new Singleton();
}
return instance;
}
}
public static void Singleton killInstance()
{
instance == null
}
}
答案 1 :(得分:0)
无论错误是什么,您的httpclient请求都会导致您的Web服务器崩溃。为了进行调查,您需要转到AppService的事件查看器。
以下是启动事件查看器的步骤: