我正在尝试使用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吗?
我想我需要整理自己的实现,因为看起来我有一些不必要的瑕疵.