标签: mvc-mini-profiler

Mvc-Mini-Profiler:为什么这么多X-MiniProfiler-Ids?

我正在使用Mvc-Mini-Profiler(这是一个很棒的产品!).使用我的普通网络浏览器似乎一切正常,但只要我使用自己的http客户端(没有cookie支持的基本http 1.1),http标头中X-MiniProfiler-Ids的数量就会增加.这种情况发生得非常迅速,并且在很短的时间内变得非常多(11kB及以上的数据).

缺少cookie会使Mvc-Mini-Profiler以这种方式工作,还是我的实现可能出现问题?

mvc-mini-profiler

5
推荐指数
1
解决办法
2077
查看次数

mini-profiler nullreferenceexception

当我正在运行的存储过程执行mini-profiler时抛出一个空引用并导致我的应用程序停止.在这种情况下,SP不会返回任何内容.

这是堆栈跟踪:

   at MvcMiniProfiler.MiniProfiler.AddSqlTiming(SqlTiming stats) in C:\Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\MiniProfiler.cs:line 274
   at MvcMiniProfiler.SqlTiming..ctor(DbCommand command, ExecuteType type, MiniProfiler profiler) in C:\Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\SqlTiming.cs:line 137
   at MvcMiniProfiler.SqlProfiler.ExecuteStartImpl(DbCommand command, ExecuteType type) in C:\Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\SqlProfiler.cs:line 39
   at MvcMiniProfiler.SqlProfilerExtensions.ExecuteStart(SqlProfiler sqlProfiler, DbCommand command, ExecuteType type) in C:\Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\SqlProfiler.cs:line 93
   at MvcMiniProfiler.MiniProfiler.MvcMiniProfiler.Data.IDbProfiler.ExecuteStart(DbCommand profiledDbCommand, ExecuteType executeType) in C:\Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\MiniProfiler.IDbProfiler.cs:line 14
   at MvcMiniProfiler.Data.ProfiledDbCommand.ExecuteDbDataReader(CommandBehavior behavior) in C:\Users\sam\Desktop\mvc-mini-profiler\MvcMiniProfiler\Data\ProfiledDbCommand.cs:line 158
   at System.Data.Common.DbCommand.ExecuteReader()
   at System.Data.Linq.SqlClient.SqlProvider.Execute(Expression query, QueryInfo queryInfo, IObjectReaderFactory factory, Object[] parentArgs, Object[] userArgs, ICompiledSubQuery[] subQueries, Object lastResult)
   at System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression query, QueryInfo[] queryInfos, IObjectReaderFactory factory, Object[] userArguments, ICompiledSubQuery[] subQueries)
   at System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression …
Run Code Online (Sandbox Code Playgroud)

mvc-mini-profiler

5
推荐指数
1
解决办法
461
查看次数

TinyInt的精巧转换

我正在尝试为mini-profiler编写自己的DatabaseStorageBase,而且我遇到了问题

private List<T> LoadFor<T>(DbConnection conn, object idParameter)
Run Code Online (Sandbox Code Playgroud)

方法.Dapper一直在跟我大喊大叫

Error parsing column 5 (level=0 - SByte)
Run Code Online (Sandbox Code Playgroud)

我存储的水平tinyint(4),所以我假设短小精悍不能让从微小的诠释是什么样子的枚举转换(ProfileLevel)?有人可以建议我应该如何在mysql中存储级别,以便我可以解决我的转换问题?

c# mysql asp.net-mvc-3 dapper mvc-mini-profiler

5
推荐指数
1
解决办法
1583
查看次数

在App_Start中编辑MiniProfiler.cs后更新MiniProfiler.MVC3 NuGet包

MiniProfiler.MVC3 NuGet包,它会在App_Start一个文件,该文件用于控制MiniProfiler设置(SqlFormatter使用,修改到ViewEngines,何时开始MiniProfiler等).

此文件中有很多TODO注释,讨论如何更改代码以执行您想要的操作.这很好,但是当更新NuGet包时,它会看到我已经更改了文件而没有下载更新的版本.这里的问题是我丢失了对该文件的任何更新,并且取决于包中更新的内容,使其无法使用(例如,在App_Start中修改MiniProfiler.cs后将MiniProfiler.MVC3从版本1.9升级到版本2.0.1时,由于2.0.1版本中对该文件的必要更改,项目将不再构建.

处理这个问题的最佳方法是什么?我应该在App_Start中创建自己的文件而不是修改NuGet包中的文件,确保在升级到最新版本的NuGet包时我将始终获得完整更新吗?

asp.net asp.net-mvc nuget nuget-package mvc-mini-profiler

5
推荐指数
1
解决办法
342
查看次数

Rails partials渲染具有10x尖峰渲染时间

看看ruby mini-profiler输出我注意到这个5-6个部分的模式在每个大约6-7毫秒渲染,然后一个渲染在60-70毫秒.我想知道是什么会导致这种情况,它看起来像是某种潮红.视图渲染开始时加载所有模型数据,所以我知道不是由延迟加载引起的.

 Rendering: application/_row     7.1    +1107.0 
 Rendering: application/_row     68.7   +1115.0 
 Rendering: application/_row     6.7    +1184.0 
 ...     
 Rendering: application/_row     6.5    +1234.0 
 Rendering: application/_row     65.2   +1241.0 
 Rendering: application/_row     6.6    +1306.0 
 ...     
 Rendering: application/_row     6.6    +1321.0 
 Rendering: application/_row     66.6   +1328.0 
 Rendering: application/_row     6.6    +1395.0 
 ...     
 Rendering: application/_row     6.6    +1444.0 
 Rendering: application/_row     65.4   +1451.0 
Run Code Online (Sandbox Code Playgroud)

Ruby 1.9.3p194,Rails 3.2.11

ruby ruby-on-rails partial-views mvc-mini-profiler

5
推荐指数
1
解决办法
567
查看次数

Miniprofiler中的Render步骤中发生了什么?

Miniprofiler告诉我,我的页面中最慢的部分是"渲染"步骤(下面附带截图).

渲染步骤中发生了什么?是将.aspx转换为html发送给客户端的阶段吗?有什么地方我可以添加Miniprofiler.Current.Step(),看看它为什么慢?

该应用程序是.NET4.5上的MVC4,带有.aspx渲染引擎.

在此输入图像描述

编辑:

控制器动作只是标准的MVC内容:

public ActionResult Index()
{
    ViewData["foo"] = GetFoo();
    return View(model);
}
Run Code Online (Sandbox Code Playgroud)

ASPX视图是基本的东西,如:

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" 
    Inherits="System.Web.Mvc.ViewPage<dynamic>" %>
<asp:Content ID="Content1" ContentPlaceHolderID="MainContent" runat="server">
    <p><% ViewData["foo"] %></p>
    <% Html.RenderPartial("Something", Model) %>
</asp:Content>
Run Code Online (Sandbox Code Playgroud)

c# asp.net-mvc profiling mvc-mini-profiler asp.net-mvc-4

5
推荐指数
1
解决办法
989
查看次数

带有 Web.API 2 的 MiniProfiler;是否有全局魔术请求上下文对象?

我正在尝试在我的 web api 站点上设置 MiniProfiler,并且很难MiniProfiler.Current开始工作。

我按照 miniprofiler.com 上的指示,在 global.asax 中有以下内容:

protected void Application_Start()
{
  MiniProfilerEF6.Initialize();
  // other setup
}
protected void Application_BeginRequest() {
  // need to start one here in order to render out the UI
  MiniProfiler.Start();
}
protected void Application_EndRequest() {
  MiniProfiler.Stop();
}
Run Code Online (Sandbox Code Playgroud)

这使用默认的WebRequestProfilerProvider,它将实际的配置文件对象存储在HttpContext.Current.Items.

当我要求时MiniProfiler.Current,它看起来像HttpContext.Current

当我请求我的 Web api URL 之一时:

  • Application_BeginRequest 创建分析器,将其存储在 HttpContext.Current
  • 在 web api 中MessageHandler,我可以看到HttpContext.Current
  • 在网络 apu 中IActionFilterHttpContext.Current现在为空,我的尝试MiniProfiler.Current.Step("controller:action")失败了 …

httpcontext action-filter mvc-mini-profiler asp.net-web-api

5
推荐指数
1
解决办法
3233
查看次数

发布到 mini-profiler-results 给出 404,但仅在实时部署的站点上

页面加载后,我在从 MiniProfiler 获取 POST 结果时遇到了一些问题。

我试过 GET,它的工作原理。但是 POST 返回 404 错误,就好像它在寻找静态文件一样。

错误的镜头

任何有关我下一步可以尝试的帮助或提示将不胜感激。

这是我到目前为止所看到的:

这不是我的路线

GET/POST 问题会让我怀疑我的路线有问题 - 除了......

此问题仅发生在实时服务器上。在本地,路由运行良好。

可能是:runAllManagedModulesForAllRequest?

我读过的大部分内容都建议将其设置为 true。然而,我的问题似乎与此相矛盾。

runAllManagedModulesForAllRequest="true"设置为 true时出现问题,设置为 false 时修复。我想将它设置为 true ,因为我的知识不够丰富,无法从默认设置中更改它。

添加处理程序没有帮助

其他资源,比如这个(在 MP 主页的底部),建议将此行添加到 web.config 中的 system.webServer.handlers。

据我了解,即使 runAllManagedModulesForAllRequests 设置为 false,这也应该允许 MP 运行。对我来说,这两种方式都没有影响。

<add name="MiniProfiler" path="mini-profiler-resources/*" verb="*" type="System.Web.Routing.UrlRoutingModule" resourceType="Unspecified" preCondition="integratedMode" />
Run Code Online (Sandbox Code Playgroud)

但是 Web.Config 中的处理程序部分是否相关?

我没有特别的理由认为这是...

我只是不完全理解它在做什么,想知道这是否可以解释本地版本和部署版本之间的差异。

<handlers>

  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
  <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." …
Run Code Online (Sandbox Code Playgroud)

web-config asp.net-mvc-routing http-status-code-404 mvc-mini-profiler

5
推荐指数
0
解决办法
408
查看次数

如何使用控制台应用程序存储MIniProfiler数据

我已经实现了一个控制台应用程序并将Miniprofiler添加到此应用程序中.

现在我想将Miniprofiler数据存储到数据库中.我已经执行了脚本来创建表到数据库.你可以在这里找到脚本!

我已经回复了这个问题

但是如何将探查器值存储到相关表中?

在MVC下面,line用于存储值:

MiniProfiler.Settings.Storage = new SqlServerStorage("<your connection string>");
Run Code Online (Sandbox Code Playgroud)

如何从控制台应用程序中存储这些值?

c# console-application mvc-mini-profiler

5
推荐指数
1
解决办法
2553
查看次数

我可以对ASP.NET Web API使用小型探查器,并且在URL上仍然可以看到结果吗?

我从其他客户端访问了ASP.NET Web API控制器,但无法在Mini Profiler URL:/ mini-profiler-resources / results中查看此调用的统计信息。这不可能吗?

mvc-mini-profiler

5
推荐指数
0
解决办法
417
查看次数