4

我正在尝试将 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();
4

1 回答 1

2

你能看到 .../mini-profiler-resources/results-index 吗?

顺便说一句,处理程序不需要。您的链接中有一个逗号,但假设这只是一个问题错字。

你是在叫开始最后一件事,Application_BeginRequest()然后停在Application_EndRequest()

你定了GlobalFilters.Filters.Add(new ProfilingActionFilter());吗?

并且您是否将 WebActivator 与一个MiniProfilerPackageMiniProfilerStartupModule

Think I need to tidy up my own implementation as looks like I have some unnecessary cruft.

于 2012-10-11T12:10:28.293 回答