【问题标题】:Can I use MiniProfiler to instrument an ASP.NET MVC WebApi website?我可以使用 MiniProfiler 来检测 ASP.NET MVC WebApi 网站吗?
【发布时间】:2013-07-29 15:59:00
【问题描述】:

我正在处理的 ASP.NET MVC 网站有一些(Controller-derived)“用户”页面和一些(ApiController-derived)“api”页面。

该网站使用 MiniProfiler 来检测“用户”页面,我非常喜欢它的功能。我希望在“api”页面中具有相同或相似的功能 - 具体来说,记录已执行的 SQL 语句,以及所有操作所用的时间。

我看到this link 看起来很有希望,其中入口点的 URL 只是简单地输入到浏览器地址栏中,但这是使用 ASP.NET MVC WebApi 开箱即用的默认视图。我自己的 URL 返回一个 XML 文档(或 JSON 响应)。

另外,我更喜欢能让我远离浏览器的东西,因为我的真实 API 调用是由另一个程序发起的,我希望能够记录整个会话的信息,而不是而不仅仅是一个请求。

有什么建议吗?

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-web-api mvc-mini-profiler


    【解决方案1】:

    您可以让 MiniProfiler 将其结果记录到数据库中,而不是处理结果。届时,您将能够回顾一段时间内的表现(针对会话或终点)。

    添加:

    MiniProfiler.Settings.Storage = new SqlServerStorage("connection string here");
    

    到您的设置,它应该开始记录到数据库。

    【讨论】:

    • 谢谢。这很好,但为了其他人的利益,我认为最好提一下它不会自动创建数据库 - 您需要创建一个并使用常量 StackExchange.Profiling.Storage.SqlServerStorage.TableCreationScript 中的 SQL 初始化它(请参阅 GitHub 上的 MiniProfiler 源代码) .可能有关于该事实的文档,但我没有找到它。
    • 另外,这是一种可视化存储结果的好方法:antonvishnyak.wordpress.com/2011/09/07/…
    • @GaryMcGill 我发现 MiniProfiler 的文档区域非常薄。我想他们会在这一点上自动尝试创建数据库......感谢您指出!
    • 这些天有没有更好的方法来做事?
    • @Rory 据我所知,这个过程没有太大变化。您是否希望看到某些特定的改进?
    猜你喜欢
    • 2010-10-04
    • 1970-01-01
    • 2013-02-11
    • 1970-01-01
    • 1970-01-01
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 2016-03-19
    相关资源
    最近更新 更多