gpt4 book ai didi

c# - WebException 响应未返回完整响应

转载 作者:太空宇宙 更新时间:2023-11-03 12:10:02 25 4
gpt4 key购买 nike

我在我的 Web API 服务(经过 Windows 验证)中使用 WebClient 对我们的公司目录(经过 Windows 验证)进行 HTTP 调用以获取用户的配置文件。请看下面。

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 internal server error at GetResponse() 中的解决方案解决了 500 错误.请参阅下面的代码。但是,我发现只有部分 html 被返回。是否需要从代码或 IIS 设置正文长度或最大返回大小之类的东西?

 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://stackoverflow.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;
}

最佳答案

我认为您可以访问事件目录,这就是代码在本地运行但在 IIS 上应用程序池从没有访问权限的 ApplicationPoolIdentity 运行的原因。

转到应用程序池并将身份更改为您的帐户。这是供您引用的图片:enter image description here

关于c# - WebException 响应未返回完整响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52862388/

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