C# ASP.NET 4.6.1 Web表单第404页问题

C# ASP.NET 4.6.1 Web表单第404页问题,c#,asp.net,iis,webforms,web-config,C#,Asp.net,Iis,Webforms,Web Config,我正在从事一个经典的ASP网站项目,并试图添加一个web表单,该表单将从用户处收集数据并将数据发布到API中。我的web应用程序位于wwwroot\subdir\myapp,我的目标是web.config中的.NET framework 4.6.1。当我在浏览器(mydomain.com\subdir\myapp或mydomain.com\subdir\myapp\Default.aspx)中导航到该站点时,会出现404错误。如果我再次重新加载,我会收到第二个404错误。但是,在第三次加载时,站

我正在从事一个经典的ASP网站项目,并试图添加一个web表单,该表单将从用户处收集数据并将数据发布到API中。我的web应用程序位于wwwroot\subdir\myapp,我的目标是web.config中的.NET framework 4.6.1。当我在浏览器(mydomain.com\subdir\myapp或mydomain.com\subdir\myapp\Default.aspx)中导航到该站点时,会出现404错误。如果我再次重新加载,我会收到第二个404错误。但是,在第三次加载时,站点加载所有资产(JavaScript/HTML/CSS),浏览器控制台中没有任何错误

我检查了web服务器(IIS 8.5)日志,前两次加载返回404.19错误。根据[1],此错误表示IIS由于过滤规则而拒绝对页面的请求。但是,如果是这样,为什么它会加载到第三个请求上


[1] 检查网站目录的安全属性。应用程序池的用户应具有读取权限。(默认为IUSR)

我解决了这个问题。正在逐个字符解析URL,并将其与SQL注入相关联的关键字列表进行精确匹配。导致我出错的单词是“更新”。通过在IIS管理器中为.aspx请求设置失败的请求跟踪规则,我找到了解决方案。

我检查了新web表单目录和网站根目录的安全属性。我有两个组,IUSR和IIS_IUSRS,都有对wwwroot和wwwroot\subdir\myapp的读取权限。您检查了吗?可能查询字符串或友好名称会有所不同​. 同时检查IIS网站配置中的筛选规则。