在ASP.NET更新面板中使用IIS URL重写会导致错误
这个问题有点离题 我有一个web应用程序,它通过IIS应用程序请求路由作为反向代理向公众公开 有几个规则可以在退出IIS时重写内容以“修复”URL以适应反向代理设置。这些规则通常适用于应用程序,但使用在ASP.NET更新面板中使用IIS URL重写会导致错误,asp.net,iis,updatepanel,arr,Asp.net,Iis,Updatepanel,Arr,这个问题有点离题 我有一个web应用程序,它通过IIS应用程序请求路由作为反向代理向公众公开 有几个规则可以在退出IIS时重写内容以“修复”URL以适应反向代理设置。这些规则通常适用于应用程序,但使用的部分除外 成功获取要根据需要重写的UpdatePanel的内容后,包含UpdatePanel的页面开始产生以下javascript错误: Uncaught Sys.WebForms.PageRequestManagerParserErrorException:Sys.WebForms.PageRe
的部分除外
成功获取要根据需要重写的UpdatePanel的内容后,包含UpdatePanel的页面开始产生以下javascript错误:
Uncaught Sys.WebForms.PageRequestManagerParserErrorException:Sys.WebForms.PageRequestManagerParserErrorException:无法解析从服务器接收的消息。此错误的常见原因是当通过调用response.Write()修改响应、启用响应筛选器、HttpModules或服务器跟踪时。
详细信息:在[HTML\u特定详细信息省略]附近解析时出错。
作为参考,URL重写规则之一是:
<rule name="ReverseProxyOutboundRule Data Api - Relative" preCondition="ResponseIsHtml">
<match filterByTags="A, Area, Base, Form, Frame, Head, IFrame, Img, Input, Link, Script, CustomTags" customTags="Custom" pattern="^/([^/].*)" negate="false" />
<action type="Rewrite" value="/data/{R:1}" />
<conditions>
<add input="{URL}" pattern="^/data/.*" />
</conditions>
</rule>
<preConditions>
<preCondition name="ResponseIsHtml" logicalGrouping="MatchAny">
<add input="{RESPONSE_CONTENT_TYPE}" pattern="^text/[html|plain]" />
</preCondition>
我的假设是,当重写响应时,返回内容长度的差异会导致UpdatePanel的javascript在解析响应并将其转储到页面时失败。不幸的是,我对UpdatePanel如何工作的内部结构了解不够,无法准确地了解到底发生了什么
如何避免这个错误