【问题标题】:ASP.Net when post back get The specified URL cannot be found回发时的 ASP.Net 找不到指定的 URL
【发布时间】:2011-01-16 14:39:15
【问题描述】:

单击 asp.net 网页表单页面上的保存按钮时,我立即得到以下信息:

找不到指定的网址

当我使用 Web 服务器上的浏览器尝试此操作时,不会发生这种情况。

以前有人遇到过这个问题吗?这是某种安全问题吗?


更多信息。我尝试了一个包含所有表单字段的测试页面和一个除了写入 log4net 日志之外什么都不做的按钮。单击按钮时同样的问题。这很奇怪。

【问题讨论】:

  • 你能附上代码示例吗?
  • 我考虑过包含代码,但它是巨大的,有很多数据输入字段。

标签: asp.net postback


【解决方案1】:

找到了解决办法!!!原来防火墙正在阻止查询字符串中包含超过 40 个参数的请求。

【讨论】:

  • 特别是在我的情况下,它是一个梭子鱼 Web 应用程序防火墙 (WAF),它不允许 POST 到特定的应用程序 URL,因为超过了 40 个参数的最大数量
【解决方案2】:

您能否提供更多信息?
这可能是由很多原因造成的:

  • 是否为站点正确配置了 IIS?身份验证、主机头设置?
  • 您是在网络服务器上尝试http://localhost/.. 还是使用网络服务器的主机名?
  • 您是否正在重定向用户?你在按钮事件中做什么?
  • 您是否使用 URL 路由?还是可能导致问题的处理程序?
  • 您正在运行哪个版本的 .NET 框架? 1.1 / 2.0 / 更高版本?
  • 页面是否包含可能导致意外结果的 javascript?
  • 在您的 web.config 中检查过疯狂的东西吗?

有时最好退后一步,创建一个新的 ASPX 页面并测试该页面是否有效。从可预测的场景开始,逐步迈向当前的场景。

【讨论】:

  • 据我所知,IIS 配置正确,我在服务器上测试时使用了主机名,没有重定向,按钮单击收集数据并保存,没有 url 路由,代码目标 3.5 框架, jquery javascript 包含在脚本标签中,我可以看到 web 配置中没有疯狂的东西。我喜欢你尝试一个简单的页面和婴儿踩踏的想法。谢谢!
  • 仅供参考 - 测试页面运行良好。在页面加载中将一些日志记录在我的真实页面中,但从未被击中。由于某种原因,表单似乎没有正确发布。
  • 您是否尝试将一些代码转移到您的测试页面?您可能还想检查页面 HTML 源代码中的表单标记(呈现后)
猜你喜欢
  • 2021-11-23
  • 1970-01-01
  • 1970-01-01
  • 2017-05-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-10-16
  • 2013-11-27
相关资源
最近更新 更多