【问题标题】:Configuring MiniProfiler to work on multiple domains配置 MiniProfiler 以在多个域上工作
【发布时间】:2014-02-16 05:30:02
【问题描述】:

我想将 MiniProfiler 添加到具有多个域服务请求的项目中:

  1. application.domain.com(提供所有 HTML、JavaScript 等)
  2. api.domain.com (REST/JSON API)

MiniProfiler 的最佳功能之一是 AJAX 调用的显示方式,开箱即用上述方法不起作用。是否有人对我可以用来启用来自 api.domain.com 的 MiniProfiler 事件以显示在 application.domain.com 中的页面上的方法/配置有任何建议?

【问题讨论】:

  • 我也很好奇这个。我在 ASP.NET MVC 4 站点中设置了 MiniProfiler,并且探查器按预期呈现结果,但无法将 AJAX 请求的结果显示到另一个域上的 API。我担心在预检请求后 X-MiniProfiler-Ids 响应标头会丢失。我尝试添加 Access-Control-Expose-Headers 标头,但我的 API 响应中仍然缺少它。
  • 我在单个域上遇到了同样的问题,其中 API 是一个独立于 Web 的项目。一个 .NET MVC4 Web 应用程序,在同一解决方案中具有单独的 Web API 项目,并且都从 localhost 和相同的端口运行。问题是从 Web 到 API 的调用只返回 JSON 数据并且它没有被分析器拾取。也将 Miniprofiler 安装到 Web API 项目中,但仍然没有。 Web API 项目帮助页面显示 Miniprofiler 信息,但测试 api 没有任何结果。

标签: mvc-mini-profiler


【解决方案1】:

可以完成,但需要您执行一些额外的设置步骤:

  1. 设置MiniProfiler.Settings.Storage 以保存到某个可从所有域访问的存储介质(如redis 缓存或sql 服务器)。这将允许所有被分析的域一起保存它们的结果。
  2. 确保将MiniProfiler.Current.User 设置为在所有域上具有相同的值。检索结果时的默认行为是显示特定用户的所有结果。因此,您需要确保同一用户的个人资料在多个域中一致地存储。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-06-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-10
    • 1970-01-01
    相关资源
    最近更新 更多