我们在生产服务器中遇到了一个奇怪的错误。我们有一个堆栈跟踪,但没有行号,所以我知道错误所在的方法,但不知道确切的行。它提示“对象引用未设置到对象的实例”。有些东西是空的。
查看代码后,我能看到的唯一两个潜在的罪魁祸首是连续两行:
string currentPath = this.Request.CurrentExecutionFilePath;
string[] parts = currentPath.Split('/');
如果请求为空,或者请求的 CurrentExecutionFilePath 为空,则会抛出。我不太清楚何时(甚至是否)会发生这种情况。我在这里吠错树了吗? (此代码似乎在页面生命周期的加载部分运行)。
最佳答案
您是否为发布版本启用了 PDB 输出?
如果你这样做,你只需要将 pdb 部署到你的生产服务器来获取堆栈跟踪中的行号。
(pdb 和 dll 必须匹配)
关于asp.net - ASP.NET HttpRequest 可以为空吗? CurrentExecutionFilePath 怎么样?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/701426/