IIS Express配置中allowdoubleescaping =“ true”无法正常工作

时间:2019-06-05 14:55:59

标签: visual-studio iis-express blazor

我收到HTTP 错误404.11-未找到 请求过滤模块配置为拒绝包含双重转义序列的请求。 当我向Blazor中的.razor页面发送请求时出错,该链接是动态生成并发送给用户的电子邮件:

string confirmationLink = $"{HttpContext.Request.Scheme}://{Request.Host}/account/confirmemail/{System.Web.HttpUtility.UrlEncode(user.Id)}/{System.Web.HttpUtility.UrlEncode(confirmationToken)}";

我在五个地方修改了IIS Express配置文件:

  • “ C:\ Windows \ System32 \ inetsrv”中的web.config
  • applicationhost.config中 “ C:\ Program Files \ IIS Express \ AppServer”
  • “ C:\ Program Files \ IIS Express \ config \ templates \ PersonalWebServer”中的applicationhost.config
  • “ C:\ Program Files(x86)\ IISExpress \ AppServer”中的applicationhost.config
  • “ C:\ Program Files(x86)\ IIS Express \ config \ templates \ PersonalWebServer”中的applicationhost.config

在所有情况下,我都修改了

<requestFiltering allowDoubleEscaping="true">

“ Web.server”“安全”部分中的标记。但是我仍然得到错误。有什么解决办法吗?

1 个答案:

答案 0 :(得分:5)

这对我有用...

  1. 要找到IISExpress的applicationhost.config文件,我在系统托盘(Windows 10的右下角)中寻找了IIS Express图标。
  2. 我右键单击IIS Express图标,然后单击"Show All Applications"
  3. 我从Running Applications的列表中单击了要修改其配置文件的Site Name
  4. 点击站点名称后,单词Config:出现在下面。
  5. 我单击了Config:右侧的路径,这在Visual Studio中打开了applicationhost.config文件。
  6. 我点击了Ctrl-F并搜索了<requestFiltering>,我将其更改为<requestFiltering allowDoubleEscaping="true">