更新面板不在云端后面工作

时间:2015-11-07 06:08:05

标签: c# asp.net gridview updatepanel amazon-cloudfront

我在Cloudfront Distribution方面遇到了一些问题。我在页面中使用了下拉列表和gridview。当dropdownlist相应更改时,我想更新gridview。当我尝试使用IP地址时,它在我的本地计算机以及我的服务器上工作得非常好。

我使用Amazon Cloudfront作为CDN,它不支持Cloudfront。

我可能会想在cloudfront Console上添加一些行为来解决这个问题,但我不确定。

任何帮助表示感谢。

1 个答案:

答案 0 :(得分:1)

在黑暗中拍摄(正如迈克尔 - sqlbot所说 - 你真的需要提供更多信息)。

gridview是ASP.NET Web控件吗?如果是这样,可能是ASP.NET没有识别CloudFront用户代理字符串:Amazon CloudFront(而不是类似Mozilla/5.0 (Windows; U; MSIE 9.0; WIndows NT 9.0; en-US的内容,这是用户代理字符串的一个例子。通常看看是否直接请求您的网站)因此没有呈现相应的Javascript(我在这些情况下看到__doPostBack javascript被忽略)

来自https://msdn.microsoft.com/en-us/library/x3k2ssx2.aspx

  

ASP.NET通过读取用户代理来确定浏览器功能   在a期间从浏览器传递到服务器的信息   请求。它比较从中收到的用户代理字符串   浏览器到存储在浏览器定义中的用户代理字符串   文件。这些浏览器定义文件包含有关的信息   各种用户代理的功能。当ASP.NET找到匹配项时   当前用户代理字符串与用户代理字符串之间的关系   浏览器定义文件,它加载相应的浏览器   HttpBrowserCapabilities对象的功能。属性   然后可以使用HttpBrowserCapabilities对象来确定   是否由用户代理表示的浏览器类型   支持脚本,样式,框架等。 基于这些   功能,页面上的控件呈现Web控件使用   适当的标记。

该页面包含有关如何覆盖此内容的一些详细信息,但它们似乎都不是理想的(即明确定位特定的浏览器/平台)。

另一个选项是将CloudFront配置为将User-Agent标头列入白名单,以便与您使用这些控件的页面匹配缓存行为(编辑行为>转发标题>白名单>添加自定义:用户-Agent ),但要注意这将有效地禁用这些资源的缓存,因为用户代理字符串通常因用户而异。