当我单击个人资料的共享链接时,出现以下异常。我正在使用来自 NuGet 的最新版本 2.0.1。
例外:
System.NullReferenceException: Object reference not set to an instance of an object.
at StackExchange.Profiling.Storage.SqlServerStorage.LoadInBatch(DbConnection conn, Object idParameter) in C:\Users\sam\Desktop\MiniProfiler\StackExchange.Profiling\Storage\SqlServerStorage.cs:line 348
at StackExchange.Profiling.Storage.SqlServerStorage.Load(Guid id) in C:\Users\sam\Desktop\MiniProfiler\StackExchange.Profiling\Storage\SqlServerStorage.cs:line 297
at StackExchange.Profiling.UI.MiniProfilerHandler.Results(HttpContext context) in C:\Users\sam\Desktop\MiniProfiler\StackExchange.Profiling\UI\MiniProfilerHandler.cs:line 314
at StackExchange.Profiling.UI.MiniProfilerHandler.ProcessRequest(HttpContext context) in C:\Users\sam\Desktop\MiniProfiler\StackExchange.Profiling\UI\MiniProfilerHandler.cs:line 188
at System.Web.HttpApplication.CallHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)
编码:
我在这里的代码中找到了我认为是空引用的来源:
ClientTimings clientTimings = null;
if (clientTimingList.Count > 0)
{
clientTimings.Timings = clientTimingList;
}
我是否遗漏了什么,或者当 中有条目时总是会抛出异常clientTimingList
?
解决方法:
我想也许如果我禁用批处理,我不会运行 LoadInBatch 函数,但 LoadIndividually 有同样的问题。
我寻找一种禁用客户端计时的方法,但找不到它的设置。
也许我可以在数据库中设置一个触发器来删除行,但这似乎有点极端。
如果我有时间,我会获取代码并提交拉取请求。我想首先确保我没有遗漏任何明显的东西。