gpt4 book ai didi

asp.net-mvc - 为什么我无法从 MiniProfiler 获得任何结果?

转载 作者:行者123 更新时间:2023-12-01 23:13:33 27 4
gpt4 key购买 nike

我似乎无法从 MiniProfiler 获得任何结果。

我可以看到 XHR POST 到 /mini-profiler-resources/results返回 404。chrome 请求检查器为我提供了一个标准服务器 404 页面。

enter image description here

同一 URL 上的 GET 也会返回 404,但有一条消息说“没有找到指定 id 的结果”(我确实在查询字符串中添加了 id)。

当我查看/mini-profiler-resources/results-index时它只是给了我一个空表,其中包含字段标题 - 名称、开始、sql、持续时间等。

我已经尝试了一些事情 - 详细信息如下 - 在这个阶段我不知道下一步可以尝试什么。任何调试此问题的指针或建议将不胜感激。

<小时/>

已安装的软件包:

  • MiniProfiler (v3.2.0.157)
  • MiniProfiler.EF6 (v3.0.11)
  • MiniProfiler.MVC4 (v3.0.11)

MVC4 也适合 MVC5。这个项目就是这个。

<小时/>

相关代码:

    protected void Application_Start()
{
MiniProfilerEF6.Initialize();
MiniProfiler.Settings.Results_List_Authorize = IsUserAllowedToSeeMiniProfilerUI;
MiniProfiler.Settings.MaxJsonResponseSize = int.MaxValue;
Database.SetInitializer<ApplicationDbContext>(null);
GlobalFilters.Filters.Add(new ProfilingActionFilter());
var copy = ViewEngines.Engines.ToList();
ViewEngines.Engines.Clear();
foreach (var item in copy)
{
ViewEngines.Engines.Add(new ProfilingViewEngine(item));
}
}


protected void Application_BeginRequest(Object source, EventArgs e)
{
if (Request.IsLocal)
{
// this IS being hit
MiniProfiler.Start();
}
}


protected void Applicaton_EndRequest()
{
MiniProfiler.Stop(discardResults: false);
}


private bool IsUserAllowedToSeeMiniProfilerUI(HttpRequest httpRequest)
{
return true;
}

在 HomeController.cs 中:

[AllowAnonymous]
public ActionResult Index()
{
var profiler = MiniProfiler.Current;
using (profiler.Step("Doing complex stuff"))
{
using (profiler.Step("Step A"))
{
ViewBag.Title = "Home Page";
}
using (profiler.Step("Step B"))
{
Thread.Sleep(250);
}
}

return View();
}

在 MasterLayout.cshtml 中:

@using StackExchange.Profiling; 

...

@MiniProfiler.RenderIncludes()
<小时/>

我尝试过:

我设置了discardResultsfalse ,像这样:

    protected void Applicaton_EndRequest()
{
MiniProfiler.Stop(discardResults: false);
}
<小时/>

我可以确认MiniProfiler.Start()页面加载时受到攻击。

<小时/>

我还可以确认mini-profiler-resources/正在找到路线(使用 Haack's Route Debugger )

<小时/>

我在<handlers>中有以下项目web.config的部分,并且它位于正确的部分(例如 this guy 错误地将其放入 ELMAH config 中)。

  <add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />
<小时/>

我已将所有输出缓存设置为 1第二。

<小时/>

我使用的是自定义applicationhost.config文件来测试自定义 url。

我尝试删除自定义 URL 绑定(bind)并仅使用标准 localhost:51347。

我还尝试将下面的代码片段放入 applicationhost.config 中而不是标准的 web.config。

<add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />
<小时/>

applicationhost.config我尝试改变

<section name="handlers" overrideModeDefault="Deny" />

<section name="handlers" overrideModeDefault="Allow" />

<小时/>

我已将以下内容添加到 application_start 中:

MiniProfiler.Settings.MaxJsonResponseSize = int.MaxValue;

<小时/>

按照 this answer 中的建议,我尝试卸载所有相关的软件包并按以下顺序重新安装它们:

  • 迷你分析器
  • MiniProfiler.MVC4
  • MiniProfiler.EF6
<小时/>

更新

9天过去了,赏金到期了,但仍然没有欢乐:(

如果将来读到这篇文章的人有想法/建议,我真的很想听听。 MiniProfiler 是一个非常棒的工具,但我很失望这次没能使用它。

如果我自己找到答案,我会发布它。

最佳答案

遇到同样的问题后,我在这里找到了答案,效果很好。 http://www.mukeshkumar.net/articles/mvc/performance-test-with-miniprofiler-in-asp-net-mvc

如果使用 MiniProfiler.Mvc4 或 MiniProfiler.Mvc3 运行应用程序后出现错误,提示“/mini-profiler-resources/includes.js 404 not found”,则只需在 web 内的 Web.Config 中添加以下代码行服务器部分。

<system.webServer>
<handlers>
<add name="MiniProfiler" path="mini-profiler-resources/*"
verb="*" type="System.Web.Routing.UrlRoutingModule"
resourceType="Unspecified" preCondition="integratedMode" />
</handlers>
</system.webServer>

关于asp.net-mvc - 为什么我无法从 MiniProfiler 获得任何结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45602474/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com