路径中存在非法字符,具体取决于用户代理?

2023-11-27

我对 ASP.NET 有两次相同的调用,唯一的区别是用户代理。我使用 Fiddler 重现了这个问题。

HTTP 请求行是:

PUT http://localhost/API/es/us/havana/club/tickets/JiWOUUMxukGVWwVXQnjgfw%7C%7C214 HTTP/1.1

适用于:

User-Agent: Mozilla/5.0 (Linux; Android 4.3; Nexus 10 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2307.2 Safari/537.36

失败:

User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 8_0 like Mac OS X) AppleWebKit/600.1.3 (KHTML, like Gecko) Version/8.0 Mobile/12A4345d Safari/600.1.4

其他一切都 100% 相同。


就我而言,根本原因是 MVC 多视图和显示模式提供程序。这使得 MVC 应用程序能够神奇地获取特定于设备的视图;例如 自定义.cshtml 客户.mobile.cshtml

本文对该功能进行了很好的解释,并详细介绍了如何关闭它:https://learn.microsoft.com/en-us/archive/msdn-magazine/2013/august/cutting-edge-creating-mobile-optimized-views-in-asp-net-mvc-4-part-2-使用 wurfl

我通过将 Microsoft.AspNet.WebPages 包添加到我的项目中并在启动中添加对此代码的调用(global.asax 中的 application_start 或如果使用 OWIN,则使用 OwinStartup 属性装饰的方法)来解决此问题:

public static void RegisterDisplayModes()
{
    // MVC has handy helper to find device-specfic views. Ain't no body got     time for that.
    dynamic modeDesktop = new DefaultDisplayMode("") { ContextCondition = (c => { return true; }) };
    dynamic displayModes = DisplayModeProvider.Instance.Modes;
    displayModes.Clear();
    displayModes.Add(modeDesktop);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

路径中存在非法字符,具体取决于用户代理? 的相关文章

随机推荐

  • 用平滑样条替换所有 NA

    以下是示例数据 大约 8000 行数据 如何用平滑样条拟合其余数据的值替换所有 NA Date Max Min Rain RHM RHE 4 24 1981 35 9 24 7 0 0 71 37 4 25 1981 36 8 22 8 0
  • ProcessInfo 和 RedirectStandardOutput

    我有一个应用程序 它在命令窗口中调用另一个进程 并且该进程更新了输出到控制台窗口的统计信息 我认为这是一个相当简单的操作 但我似乎无法让它发挥作用 我错过了什么吗 string assemblyLocation Assembly GetEx
  • R 中的错​​误:不一致的参数。不对?

    这是我的代码 define likelihood function including an intercept constant in the function lltobit lt function b x y sigma lt b 3
  • 具有属性的列表的 XML 序列化

    我在另一个列表中有一个列表 具有变体的产品 我希望父列表具有设置的属性 只是一个id and a name 所需输出
  • 使用CursorLoader查询专辑中的歌曲

    我想通过查询来获取专辑的歌曲列表MediaStore with CursorLoader 我怎样才能做到这一点 我可以使用以下代码获取设备的所有歌曲 static final String TRACK SUMMARY PROJECTION
  • Visual Studio-路径中的非法字符

    这是在 Visual Studio Community 2017 最新更新后发生的 每次我尝试打开我的项目时 都会收到以下警告 警告 IDE0006 加载项目时遇到错误 某些项目功能 例如失败项目和依赖它的项目的完整解决方案分析 已被禁用
  • 从函数内部调用 $(document).ready() 是否安全?

    如果我使用 document ready 即使文档就绪事件在过去已经发生过 它是否仍能保证仅在文档准备好时才运行其中的代码 Yes 来自 jQueryready功能source Catch cases where document read
  • execcommand("SaveAs",null,"file.csv") 在 IE8 中不起作用

    var doc w document doc open application CSV replace doc charset utf 8 doc write all hello doc close if doc execCommand S
  • ARM Linux Atag 与设备树

    设备树和 ATAG 之间有什么区别 另外 ATAG 是必须的吗 内核是否期望它们位于固定地址 还是期望它们位于 r0 r3 中 设备树描述了有关硬件的所有信息 内核在运行时使用这些硬件来选择要加载的驱动程序 所有 MMIO 接口的位置等 A
  • 将服务器端变量传递给客户端 JavaScript 的最佳方法是什么?

    我们的应用程序使用了很多配置选项 这些选项需要以用户首选项 站点范围首选项等形式反映在客户端 目前 我们以 JSON 的形式将服务器端设置传递到客户端 该设置存储在特定元素标记中的自定义属性中 不 我们的应用程序当前不担心 W3C 验证 然
  • 如何知道文本区域中当前可见哪些行/字符?

    具有 实时预览 功能的在线编辑器 左侧有一个文本区域 右侧有一个预览 div 每当文本区域发生变化时 预览都会更新 这对于小文档非常有效 然而 对于很长的文档 它会变得缓慢 因为预览中有大量不断重新绘制的 DOM 元素 最好只发送到预览 当
  • jquery需要在部分页面回发时重新绑定事件

    当我执行部分页面回发时 如何重新绑定我的事件 jquery 我正在使用以下方式连接所有内容 document ready function 部分页面回发后 我的事件没有触发 您可以点击页面请求管理器结束请求事件 Sys WebForms P
  • Python while 循环转换为 Javascript [重复]

    这个问题在这里已经有答案了 我将如何转换以下内容 while True do something time sleep 2 进入JavaScript 你不会 因为 JavaScript 不会休眠 它是同步的并且基于事件 然而 您可以通过以下
  • :最后一个孩子风格工作,:第一个孩子风格不工作!为什么?

    我通过使用浅色边框作为段落的顶部边框 使用深色边框作为段落的底部边框 在段落之间创建插入边框效果 我尝试使用 p first child 删除第一段的顶部边框 并使用 p last child 删除底部段落的边框 他们有一门 介绍 课仅供参
  • 如果鼠标移动太快,SwiftUI onHover 不会注册鼠标离开元素

    我在 SwiftUI 中制作了一些自定义滑块视图 它们根据悬停状态更改外观 但如果鼠标移出太快 这实际上是移动光标的非常合理的速度 它会保持悬停状态 直到您重新 将鼠标悬停并缓慢地重新离开组件 有解决办法吗 悬停代码非常标准 struct
  • IIS 将 www 重定向到非 www,将 http 重定向到 https:是否可以仅使用一个重定向来完成此操作?

    我需要避免在创建两个 IIS URL 重写规则后出现的双重重定向 1 将www重定向到非www 2 将 HTTP 重定向到 HTTPS 这是我的代码
  • 处理 Firefox 和 Internet Explorer 的差异

    这个问题是因为我刚刚发现我的网站在兼容模式下的 IE7 和 IE8 中看起来不错 但在 FF 中一切都搞砸了 最好的方法是什么 单独的 CSS 文件 谢谢 理查德 如果您的布局完全不同 最好的解决方案是返回并重新考虑您的布局 CSS 老实说
  • Google Hangouts Meet API 文档 [已关闭]

    Closed 此问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 目前不接受答案 我正在寻找 Google Hangouts Meet 的原始 api 文档 我注意到一个机器人hangups https github com td
  • 在 vista 中以管理员身份以编程方式运行 cmd.exe,C#

    我有一个视觉工作室设置和部署项目 我在其中添加了一个 cmd 脚本 该脚本需要管理员权限才能运行 当用户单击 setup exe 时 UAC 会提示用户授予管理员权限 因此 我假设在 setup exe 中创建和调用的所有进程都将以管理员身
  • 路径中存在非法字符,具体取决于用户代理?

    我对 ASP NET 有两次相同的调用 唯一的区别是用户代理 我使用 Fiddler 重现了这个问题 HTTP 请求行是 PUT http localhost API es us havana club tickets JiWOUUMxuk