应用程序的重新发送更新在加载时停止在页面上显示任何数据。检查浏览器开发人员工具和IIS日志后,发现请求最小化Javascript文件时,服务器返回404错误。
调查显示该文件存在于正确的路径中,唯一的区别是asp-append-version属性附加的版本号。
在开发环境中构建和运行的代码库完全相同,没有问题,但是当部署到测试环境时,javascript请求返回404。
两种环境之间的区别是用于查询字符串的请求过滤的IIS设置。
测试(和生产服务器)配置为禁止使用包含-以及许多其他字符组合的查询字符串进行请求。
脚本标记帮助程序为asp-append-version属性返回的文件版本的值-字符。因此,IIS过滤了请求并返回404。
无法更改IIS配置,因此我需要覆盖为asp-append-value提供值的所有标记助手的值,以删除或替换IIS请求筛选中为查询字符串配置的任何值。 。
我看过许多帖子和博客,但似乎都不合适。
这里有两个看起来最相关。
How to create a script tag helper that inherits from the standard .Net Core script tag helper
How to create a script tag helper that inherits from the standard .Net Core script tag helper
我该如何解决?
我可以注册供所有标签助手使用的其他FileVersionProvider实现吗?如果是这样,该在哪里注册?
或者,在使用asp-append-version的情况下,我是否必须替换所有标记助手?对我来说,这个选项似乎太过分了。
谢谢。