【发布时间】:2019-08-02 18:32:23
【问题描述】:
我开发了一个 Windows 服务,除其他外,它将使用 HttpClient 来查询我们 Web 服务器上的各种网站。由于该服务在 NETWORK SERVICE 帐户下运行,因此某些站点即使已启动也会返回 500 错误。我尝试在 Web 应用程序中执行此操作,但它要求 Web 应用程序始终处于启动状态,并且应用程序池帐户也抛出了相同的错误。
我发现的唯一解决方法是使用我的用户名、密码和域插入 NetworkCredential。显然,出于安全考虑,这不是一个真正的解决方案,每次更改密码时我都必须更新应用程序。但至少所有应用程序都会返回 200。
我们有一个数据库来处理基于 Windows 登录的网站访问。数据库只接受有效的雇员。 NETWORK SERVICE 不是员工。也许我需要在虚拟目录级别允许匿名访问这些站点。 NETWORK SERVICE 在访问这些站点时将使用匿名权限。
有人有什么建议吗?
【问题讨论】:
-
您得到的 500 错误究竟是什么?您的问题中需要包含这些细节。
-
InternalServerError
-
我为我的问题添加了更多内容。我正在使用 NLog,这些站点会抛出 InternalServerError,但大多数站点都很好。我自己导航到这些网站,一切都很好。
-
这仍然没有改变您需要准确找出内部服务器错误是什么的事实。否则,您会在黑暗中猜测他们为什么给您 500 分。那是在浪费您的时间。你说你有 NLog:然后检查日志,看看错误是什么。如果那里没有错误,则向您的应用程序添加额外的日志记录。
标签: c# http networking