Ответ WebException не вернул полный ответ
Я использую WebClient в своей службе веб-API (Windows Autheticated), чтобы сделать HTTP-вызов в наш корпоративный каталог (Windows Autheticated), чтобы получить профиль для пользователя. Пожалуйста, смотрите ниже.
public string DownloadPage(string ntid)
{
var result = "";
try
{
using (var client = new WebClient() {UseDefaultCredentials = true})
{
using (var stream = client.OpenRead($"{url}{urlParameter}{ntid}"))
{
using (var reader = new StreamReader(stream))
{
result = reader.ReadToEnd();
}
}
}
}
catch (Exception ex)
{
log.Error(ex);
}
log.Info(result);
return result;
}
Код прекрасно работает локально и в нашей среде тестирования, но при развертывании его в среде Produciton выдает "500 внутренних ошибок сервера". Я решил ошибку 500 на основе решения из 500 внутренних ошибок сервера в GetResponse (). Пожалуйста, смотрите коды ниже. Однако я обнаружил, что вернулась только часть профиля (в html). Есть ли что-то еще, например, длина тела или максимальный размер возвращаемого значения, которые мне нужно установить?
public string DownloadPage(string ntid)
{
var result = "";
try
{
using (var client = new WebClient() {UseDefaultCredentials = true})
{
using (var stream = client.OpenRead($"{url}{urlParameter}{ntid}"))
{
using (var reader = new StreamReader(stream))
{
result = reader.ReadToEnd();
}
}
}
}
catch (WebException webex)
{
//https://stackru.com/questions/4098945/500-internal-server-error-at-getresponse
var errResp = webex.Response;
using (var stream = errResp.GetResponseStream())
{
using (var reader = new StreamReader(stream))
{
result = reader.ReadToEnd();
}
}
}
catch (Exception ex)
{
log.Error(ex);
}
log.Info(result);
return result;
}