asp:RadioButtonList'RepeatLayout'被CDN忽略

Sea*_*sby 5 asp.net webforms akamai cdn

我有一个WebControl在我的网站,有一个asp:RadioButtonList就可以了.

我把RepeatLayout财产设置为'Table'.

当我正常查看网站时,它会正确呈现(作为表格).

然后我们设置了整个站点通过的CDN,但是只从CDN检索图像,JS和CSS文件,并且站点的其余部分通过并命中我们的服务器(因此aspx请求仍然从服务器上传出我可以直接访问).

在测试中,我已将hosts文件设置为指向CDN地址.

其他一切似乎都很好,但是RadioButtonList渲染为inputlabel标签,由...分隔<br />'s.如果我RepeatLayout设置为,它应该如何呈现"Flow".

我甚至可以编辑控件中ListItems中的文本,看看它们是否更新,所以它肯定会命中我的服务器.

有没有人知道为什么我使用CDN的测试返回的标记不正确,仅适用于RadioButtonLists?

Sea*_*sby 1

我们终于找到问题了。

Akamai-EdgeAkaimai在页面请求中将其自己的用户代理 发送到我们的服务器。

在此过程中,我们的服务器根据用户代理返回不同的标记。(我们的网站运行于 CMS Sitecore,它具有依赖于用户代理的标记。)

我们设法通过更改 Akamai 配置来解决此问题,以便网站访问者的普通用户代理在请求中传递到我们的服务器,而不是 Akamai 的服务器。

我怀疑这也是 Sitecore 中的一个错误(不返回未知用户代理的默认标记)。