我正在尝试将 mini profiler 与 WCF 一起使用。我不断收到 404 错误:
http://website/mini-profiler-resources/results
没有返回结果。
我正在使用两个版本的迷你分析器。不支持 WCF 的 NUGET 版本工作得很好。
我下载了 git 版本,以便可以使用 WCF 集成。我注意到,如果我运行源“Sample.Mvc”中包含的测试项目,则在执行主页时会发生相同的错误,但对于某些链接则不会。我似乎无法为我自己的任何网站页面获得结果。发生相同的 404。
我已经下载了主版本。我正在使用 .NET 4.0 和 studio 2010。
我在配置文件中有以下内容,我尝试过使用和不使用处理程序。
<system.webServer>
<validation validateIntegratedModeConfiguration="false" />
<modules runAllManagedModulesForAllRequests="true" />
<handlers>
<add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />
</handlers>
</system.webServer>
我肯定是在调用 start 和 stop 方法。
StackExchange.Profiling.MiniProfiler.Stop();
我读过这个:MvcMiniProfiler results requestgiving 404 in Asp.Net MVC app
它没有帮助。
我找到了有关问题的线索
miniprofiler 中的以下代码返回 NotFound 分析器期望存在某种 guid 值,但事实并非如此。
private static string Results(HttpContext context) {
// this guid is the MiniProfiler.Id property
Guid id;
if (!Guid.TryParse(context.Request["id"], out id))
return isPopup ? NotFound(context) : NotFound(context, "text/plain", "No Guid id specified on the query string");
临时修复
我取出上面的代码,刚刚从存储中收集了第一个 guid,这解决了问题。我认为这段代码需要清理。我需要学习 GIT,然后尝试自己清理它。
var id = MiniProfiler.Settings.Storage.List(10).FirstOrDefault();