Elmah 错误日志显示本地环境路径,而在生产服务器上 运行
Elmah error logs show local env path while running on production server
我在生产机器上有一个 C# 服务应用程序 运行。该服务的工作是每 60 秒与另一个 API 同步。但是最近开始出现一些非常奇怪的错误。
错误消息本身非常简单 - 实体验证失败。
但是出现错误的文件路径是我在本地开发时使用的路径。
所以应用的服务器路径是"C:/CronJobs/AppName/.."(1),而我的本地路径是"C:/Users/MyLocalUsername/Local/Source/Repos/.."(2).
所以问题是生产服务器抛出一些错误,然后说错误发生在 "C:/Users/MyLocalUsername/Local/Source/Repos/.." 中的文件中,而这个位置甚至不存在于生产服务器上,它只存在于我的本地机器。
我检查了数据库中记录的主机名,确定它来自生产服务器。无论如何,数据库本身都受到保护,所以我什至无法直接访问它,我必须使用 RDP 来管理它。
我重新启动了应用程序,它仍然存在(虽然关闭时没有抛出任何错误)。
有人可以告诉我在哪里可以解决这个问题吗?
我相信这些部分实际上是在构建机器上编译时添加的。如果您在构建中启用了调试符号,这些将在您部署时进入生产环境。
在您的生产环境中查找 PDB 文件。
我在生产机器上有一个 C# 服务应用程序 运行。该服务的工作是每 60 秒与另一个 API 同步。但是最近开始出现一些非常奇怪的错误。
错误消息本身非常简单 - 实体验证失败。 但是出现错误的文件路径是我在本地开发时使用的路径。
所以应用的服务器路径是"C:/CronJobs/AppName/.."(1),而我的本地路径是"C:/Users/MyLocalUsername/Local/Source/Repos/.."(2).
所以问题是生产服务器抛出一些错误,然后说错误发生在 "C:/Users/MyLocalUsername/Local/Source/Repos/.." 中的文件中,而这个位置甚至不存在于生产服务器上,它只存在于我的本地机器。
我检查了数据库中记录的主机名,确定它来自生产服务器。无论如何,数据库本身都受到保护,所以我什至无法直接访问它,我必须使用 RDP 来管理它。
我重新启动了应用程序,它仍然存在(虽然关闭时没有抛出任何错误)。
有人可以告诉我在哪里可以解决这个问题吗?
我相信这些部分实际上是在构建机器上编译时添加的。如果您在构建中启用了调试符号,这些将在您部署时进入生产环境。
在您的生产环境中查找 PDB 文件。