我有一个使用 .NET core 2.2 和 HTTP.Sys 的 Web API。我已经设置了 Windows 身份验证,当用户获得授权时,我可以看到 401 WWW-Negotiate 质询,然后是 200。
现在我已经多次执行相同的请求,但我发现每个请求都面临挑战,这会减慢系统速度并影响性能。我的示例客户:
var httpHandler = new HttpClientHandler
{
UseDefaultCredentials = true,
Proxy = new WebProxy
{
Address = new Uri("http://HOSTNAME:8888"),
}
};
using (var client = new HttpClient(httpHandler))
{
client.BaseAddress = new Uri("http://HOSTNAME:5000/");
for (int i = 0; i < 10; i++)
{
try
{
HttpResponseMessage response = client.GetAsync("api/user").Result;
response.EnsureSuccessStatusCode();
string result = response.Content.ReadAsStringAsync().Result;
Console.WriteLine("Result: " + result);
}
catch (System.Exception ex)
{
Console.WriteLine(ex);
}
}
我读到 IIS 似乎可以authPersistNonNTLM=true
在这里使用,但我无法为纯 HTTP.sys 设置类似的设置。任何想法?
谢谢,