仅我的Asp.Net网站就可以正常运行。我们现在使用HTTP GET& amp ;;将此网站加载到第三方网站的iFrame中。 POST方法。在大多数系统中,网页在IE中的iFrame内正确加载。但有些系统,首先我的网站在iframe中正确加载,然后抛出"尝试访问此页面时发生错误"在IE中的iFrame中加载页面时出错。 iFrame中显示错误消息,其中父网站继续正常运行。
我调试了asp.net/C#代码,看起来所有页面加载代码都正确执行,没有异常,但突然出现错误。
我已经比较了系统中的IE设置,试图在两个系统中保持相同的设置,但没有运气。
这个问题可能是什么原因?如果有可能抓住父网站错误?我无法访问父网站代码。任何帮助都会很棒。
答案 0 :(得分:0)
经过多次破解后我终于能够发现实际的错误。
我做了什么 在IE中使用Tools-> F12 Developer Tools或在IE中按F12。然后使用" Network"用于跟踪导致问题的最后一页/链接的选项卡。发现这是我的网站导致错误。现在是时候找到实际的错误了。
我在Web.Config文件中找到了
<system.web>
<customErrors defaultRedirect="Error.htm" mode="RemoteOnly"/>
这导致重定向到&#34; Error.htm&#34;显示通用自定义错误消息的位置。所以我将上面的customErrors元素替换为
<customErrors mode="Off"/>
参考:Web.config Custom Errors mode Conflict
现在我收到了实际的错误。错误是:
从客户端检测到一个潜在危险的Request.Form值(ConfigurationRequest =&#34; http://go.microsoft.com/fwlink/?LinkID = 212874。
异常详细信息:System.Web.HttpRequestValidationException:从客户端检测到潜在危险的Request.Form值(ConfigurationRequest =&#34;
现在我需要找出问题发生的原因和根本原因。让我们看看我能找到什么。但它确定这个问题是由来自第三方网站的HTTP GET(Request.Form)调用引起的。
然后我找到A potentially dangerous Request.Form value was detected from the client
我添加<httpRuntime requestValidationMode="2.0"/>
对.Net4.0运行时
(如果.Net运行时为2.0则添加<pages validateRequest="false">
)
到web.config它开始工作。
但还有一些错误。一些系统中的IE如何不保存Session和profile变量。当我使用会话和配置文件变量时,这会在页面加载时导致一些问题。
我找到了Session Variables not saved when page is in an iFrame
并补充说 IIS中的P3P标头:
名称= p3p 值= CP =&#34; IDC DSP COR CURa ADMa我们的IND PHY ONL COM STA&#34;
它在iFrame中启动了工作文件。呼!!!