这绝对是Url别名包中的一个错误。
解决这个问题的最快方法很可能就是推出自己的http模块,至少在发布修补程序之前。 你可以从GitHub的软件包回购中获取源代码,并调整它以解决问题,确保从web.config注销捆绑的http模块并注册自己的代码。
当前的HTTP模块源是在这里:https://github.com/CPHCloud/c1packages-urlaliases/blob/v1.0.2/CphCloud.Packages.UrlAlias/UrlAliasHttpModule.cs
变化incomingUrlPath
值使用PathAndQuery
代替AbsolutePath
,像这样:
...
static void httpApplication_BeginRequest(object sender, EventArgs e)
{
var httpApplication = (HttpApplication)sender;
var incomingUrlPath = HttpUtility.UrlDecode(httpApplication
.Context.Request.Url.PathAndQuery.TrimEnd(new[] { '/' }));
....
在你的web.config文件,你应该注销URL别名'handler
<!--add name="UrlAlias" type="CphCloud.Packages.UrlAlias.UrlAliasHttpModule,
CphCloud.Packages.UrlAlias,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" /-->
并且注册您自己的
<add name="CustomUrlAlias" type="CphCloud.Packages.UrlAlias.UrlAliasHttpModule,
YourAssemblyName,
Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
完全披露:我是URL别名包的作者。
非常感谢。 *开发人员*(眨眼睛)将全面修复它,你有什么想法吗? – niico
复合材料必须在提交后审查包装,因此在几天内应该启动。当我提交它时,我会将它添加到Github回购中作为预发布,并发布到构建的链接。然后,您可以在Composite将其发布到其附加市场之前将其作为本地包安装。 –
优秀 - 我可以等几天。非常感谢。我从来没有'更新'一个包 - 我卸载然后重新安装? – niico