c# - 意外的本地路径作为来自远程服务器的异常消息的一部分

标签 c# asp.net sql-server exception

我们在 IIS 服务器上有我们的 ASP.NET Web 窗体项目, Entity Framework 和连接字符串正确*指向我们在另一台机器上的 SQLServer。几天前,我开始在异常堆栈跟踪中看到本地路径:

[EntityException: The underlying provider failed on Open.]
   System.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure) +11430407

   MyCompany.MyProject.Clases.CargaListados.CargaCategorias(DropDownList DdlCategorias) in c:\Users\myname\workspace\v5\MyWebSite\MyCompany.MyProject\Clases\CargaListados.cs:143
   MyCompany.MyProject.UserControls.Comunes.Buscadormicrotarea.CargaDesplegables() in c:\Users\myname\workspace\v5\MyWebSite\MyCompany.MyProject\UserControls\Comunes\Buscadormicrotarea.ascx.cs:58

最后异常是存放SQLServer的机器挂了...

但让我烦恼的是观察跟踪中的本地路径。

我有一组连接字符串可以在本地针对本地数据库工作。然后另一个连接字符串通过 VPN 针对 SQLServer 机器工作。最后,当代码存储在 Web 服务器(以连接到 SQLServer 计算机)时,将另一组放入 Web.config 中。截至今天,一切正常,无需对代码或连接字符串进行任何更改。

为什么我会在错误中看到我的本地路由?

*或者那是我的猜测,因为它“连接”了,但现在我不知道了。

最佳答案

源代码文件名(甚至特定语句的行号)包含在堆栈跟踪中,因为您将调试符号 (.pdb) 文件与二进制文件一起部署。生成堆栈跟踪时,.NET 将查找那些 .pdb 文件,并且(如果可能)将从中收集源代码文件和行号信息并将其包含到堆栈跟踪中。因此,为了防止这种情况 - 只是不要部署 .pdb 文件。还要确保您部署的是发布版本,而不是调试到生产环境。

关于c# - 意外的本地路径作为来自远程服务器的异常消息的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41961178/

相关文章:

c# - 使用 dapper 为 MySql 附加参数

c# - 为每个数据透视项标题分配一个图像

c# - 回发从页面中删除样式

javascript - ASP.NET 实现一个类似 stackoverflow 搜索框的搜索框

c# - 后端到数据库方法

c# - 在 DbMigration 中访问 Up 里面的上下文

sql-server - 无法从 MVC 应用程序连接到 SQL Server Express 2008

c# - 适合初学者的异步/等待

c# - 订阅 redis channel 不会保持事件状态

sql-server - 如何将 REST 调用中的数据导入到 MAC 上的 SQLite 数据库中?