MVC Mini Profiler 不尊重应用程序的路径

2024-03-02

我已经按照其描述设置了 MVC Mini Profiler项目页面 http://code.google.com/p/mvc-mini-profiler/,并且包含内容确实被写在页面上。

问题是,我的应用程序位于http://localhost:8080/web,探查器编写的标记包括如下所示:

<link rel="stylesheet/less" type="text/css" href="/mini-profiler-includes.less?v=2.0.4177.17902">
<script type="text/javascript" src="/mini-profiler-includes.js?v=2.0.4177.17902"></script>
<script type="text/javascript"> jQuery(function() { MiniProfiler.init({ id:'fb4dc30e-c1aa-4be6-902c-ef2812dd1fe2', renderDirection:'left' }); } ); </script>

这些当然都会给出 404 错误,但是如果我导航到/web/mini-profiler-includes.less?,加载良好。

可以找到创建该字符串的源here http://code.google.com/p/mvc-mini-profiler/source/browse/MvcMiniProfiler/UI/MiniProfilerHandler.cs:

// MiniProfilerHandler.cs
/// <summary>
/// Understands how to route and respond to MiniProfiler UI urls.
/// </summary>

public class MiniProfilerHandler : IRouteHandler, IHttpHandler
{
    internal static HtmlString RenderIncludes(MiniProfiler profiler, RenderPosition? position = null, bool showTrivial = false, bool showTimeWithChildren = false)
    {
        const string format =
            @"<link rel=""stylesheet/less"" type=""text/css"" href=""{0}mini-profiler-includes.less?v={1}"">
            <script type=""text/javascript"" src=""{0}mini-profiler-includes.js?v={1}""></script>
            <script type=""text/javascript""> jQuery(function() {{ MiniProfiler.init({{ id:'{2}', path:'{0}', renderDirection:'{3}', showTrivial: {4}, showChildrenTime: {5} }}); }} ); </script>";

        var pos = position ?? (MiniProfiler.Settings.RenderPopupButtonOnRight ? RenderPosition.Right : RenderPosition.Left);

        var result = profiler == null ? "" : string.Format(format,
                                                       EnsureEndingSlash(HttpContext.Current.Request.ApplicationPath),
                                                       MiniProfiler.Settings.Version,
                                                       profiler.Id,
                                                       pos.ToString().ToLower(),
                                                       showTrivial ? "true" : "false",
                                                       showTimeWithChildren ? "true" : "false");

        return new HtmlString(result);
    }

    // rest of the code
}

为什么 Request.ApplicationPath 不返回我的应用程序的路径?我是否做错了什么,或者我应该在 mvc-mini-profiler 页面上提交问题?

EDIT:为了让事情变得更奇怪,我在MiniProfiler.RenderIncludes()调用,并检查值是什么HttpContext.Current.Request.ApplicationPath就在那一刻,就是"/web"!非常神秘。

EDIT 2:看起来他们可能在最新版本中添加了对虚拟路径的支持(2小时前:)),并且NuGet包(这就是我安装它的方式)并不完全是最新的。正在调查...


拉取最新源(这次提交 http://code.google.com/p/mvc-mini-profiler/source/detail?r=4df727294f25174b8a54b6b5a1d7e9a2a795b845是本文发布时的最新版本),构建项目,获取 DLL 并引用它,而不是使用项目的 NuGet 包解决了问题。

EDIT:截至目前,NuGet 包现已与最新提交保持同步,所以 NuGet 就出发吧!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MVC Mini Profiler 不尊重应用程序的路径 的相关文章

随机推荐

  • Kinesis lambda DynamoDB

    我正在学习 AWS 服务的一个用例 在浏览完文档后 我想出了一个简单的流程 我想使用 Streams API 和 KPL 将数据提取到 Kinesis 流中 我使用示例 putRecord 方法将数据提取到流中 我正在将此 JSON 摄取到
  • Windows Phone 8 cordova视口高度问题

    我们用 cordova 开发了一个 Windows Phone 8 应用程序 可以正常使用 但是在 windows Phone 8 之后8 0 10328 78释放页脚即可清理 我之前检查过代码 我得到的视口高度为 768 现在为 800
  • 自定义 Android 中的警报对话框

    我想在警报对话框的浅色背景上显示深色文本 但我不知道该怎么做 请帮我 Thanks 您可以在 XML 视图中创建自己的布局 就像创建活动一样
  • 具有相同标签的列的平均值

    我有两个向量 data vector A 1 2 2 1 2 6 2 3 2 3 3 5 label vector B 1 2 1 2 3 NaN 我想取具有相同标签的所有列的平均值 并将它们输出为按标签号排序的矩阵 忽略 NaN 所以 在
  • 从耶拿的文件中删除无效的 N-Quads

    我有一个包含 N Quads 的文件 使用 schema org 词汇表 我想使用 Apache Jena 的命令行工具将其加载到 TDB RDF 存储中 我正在使用的命令是 tdbloader loc
  • iOS 验证得到 Main_iPhone~iphone.storyboardc 未找到

    我正在尝试分发我的 iOS 应用程序 在 xCode 验证期间收到以下错误消息 未找到故事板文件 Main iPhone iphone storyboardc 请确保指定的文件包含在捆绑包中 并在文件名后附加任何所需的设备修饰符 需要一些建
  • 计算数据框中主题标签的频率

    我正在尝试计算数据框 文本 列中主题标签词的频率 index text 1 ello ello ello ello hello ello 2 red green blue black colours 3 Season greetings h
  • 如何使我的表单始终位于主表单之上?

    如何使我的非模态表单始终位于主表单之上 我努力了 procedure TForm3 CreateParams var Params TCreateParams begin inherited CreateParams Params Para
  • Prolog 中的选择排序

    我是 Prolog 的新手 我正在尝试进行选择排序 这是我所拥有的 ssort ssort M S L min M L remove M L N ssort S N min M M min M H T min N T min2 M H N
  • 如何在 Flutter App 上自动增加内部版本号?

    目前 每次我构建 APK 时 我都需要在 2 个位置手动更新我的构建版本 这看起来非常不自动化且违反直觉 我将其与 Jenkins BUILD ID 进行比较 我知道我必须 并且更喜欢这样 手动更新 semver 版本 0 2 0 但肯定有
  • iOS 上运行的问题

    我已经在 3 台不同的计算机上进行了尝试 但仍然存在相同的问题 导致我无法在 Mac 上运行该项目 当我使用 Windows 并连接到 Mac 来运行时 所有 3 台计算机上都显示相同的错误 显示的错误消息 无法解析参考 Library F
  • Visual Studio 2013 对项目中所有引用的黄色警告

    我有一个 C 项目 目标框架设置为 NET 4 5 由于某些奇怪的原因 所有引用都标有黄色警告三角形 如下所示 我尝试过卸载并重新加载该项目 我什至尝试手动重新添加系统引用之一 但无济于事 我收到的警告是 警告 13 无法找到引用的组件 A
  • Java 中的目录扫描器

    连续扫描一组目录以查找一组文件名过滤器 对于到达的每个文件名过滤器 处理该文件并对所有文件重复这些步骤 jdk 1 5 中推荐的设计是什么 可能使用 java concurrent Executor 和 Future 我已经用网络爬虫完成了
  • 在同一模块中使用unittest.mock的补丁,通过“__main__.imported_obj”修补时得到“没有该属性”

    我的任务本来应该很简单 但它却困扰了我一段时间 我在尝试着patch导入到当前模块中的对象 根据答案Python 中的模拟修补 from import 语句 https stackoverflow com questions 1135138
  • jQuery:计算可见元素 - 效率/速度问题

    我有一些代码可以正常工作 但它变得太慢了 HTML 我有一个容器 里面大约有 50 个ul元素 每个ul元素有一个h4标题后面跟着一系列li元素 如果没有可见的行元素 该函数将隐藏标题 JavaScript jQuery function
  • 允许 AWS Lambda 访问 RDS 数据库

    我正在尝试从 AWS Lambda Java 连接到 RDS 数据库 我应该从 RDS 安全组规则中启用哪个 IP 您无法通过 IP 启用此功能 首先 您需要为 Lambda 函数启用 VPC 访问 在此期间您将为其分配一个安全组 然后 在
  • Ansible 使用同步时提示密码

    我在用着ansible http www ansible com通过以下方式 ansible playbook f 1 my play book yaml ask pass ask sudo pass 之后我被要求输入 ssh 和 sudo
  • 无法加载资源:服务器响应 404(未找到)css 状态

    我无法让浏览器显示我正在创建的应用程序的 css 我查看了其他用户提出的相同问题 但没有找到任何对我的情况有帮助的答案 当我进入该页面时 显示的只是 Hello world 没有样式 即使样式表已链接 当我检查页面时 出现错误 无法加载资源
  • MVC 中 SelectlistItem 的自定义属性

    我想为 dropdownlist 创建一个自定义 htmlhelper 扩展方法 以接受 selectlistitem 的 Option 标签中的自定义属性 我的模型类中有一个属性 我想将其作为属性包含在选择列表的选项标记中 i e
  • MVC Mini Profiler 不尊重应用程序的路径

    我已经按照其描述设置了 MVC Mini Profiler项目页面 http code google com p mvc mini profiler 并且包含内容确实被写在页面上 问题是 我的应用程序位于http localhost 808