迷你探查器WCF

我正在尝试使用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>

我肯定会调用启动和停止方法.

StackExchange.Profiling.MiniProfiler.Stop();

我读过这个:MvcMiniProfiler results request giving 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();

最佳答案 你能看到… / mini-profiler-resources / results-index?

处理程序不需要顺便说一句.你的链接中有一个逗号但是假设这只是一个问题拼写错误.

你是在Application_BeginRequest()中调用start的最后一件事并在Application_EndRequest()中停止

你设置了GlobalFilters.Filters.Add(new ProfilingActionFilter());?

你在使用带有MiniProfilerPackage和MiniProfilerStartupModule的WebActivator吗?

我想我需要整理自己的实现,因为看起来我有一些不必要的瑕疵.

点赞