我正在做一个ASP。net网络应用程序。我的一些页面上出现了错误,在这些页面上出现了运行时JavaScript错误。
我已经将问题缩小到母版页上的单个ASP菜单控件。我用ASP菜单控件创建了一个空白页面。ASP菜单控件已绑定到
Web.sitemap
.该页面间歇性地给出运行时错误。
但是,如果我刷新页面,错误可能会出现,也可能不会出现在任何给定的页面加载上。有时,它是有效的;有时,在加载页面或将鼠标悬停在ASP菜单控件上时,浏览器会抛出运行时错误。
当我在Visual Studio中发现错误时,消息是“microsoft jscript运行时错误'sys'未定义”。当我搜索这条消息时,我发现它通常与AJAX相关。但是,页面上只有一个ASP控件。
页面上绝对没有Javascript,除了。net框架。
是什么导致了这个问题?
使现代化
我发现,我的环境实际上有一个由三台服务器组成的web服务器场,为URL提供服务,实现了负载平衡。当我通过IP地址在任意一台服务器上单独访问应用程序时,一切正常。
澄清一下,我知道当用户点击面向公众的URL时,它会解析为x.x.x.1。x、 x.x.1是将请求路由到x.x.x.2、x.x.x.3或x.x.x.4的交换机的地址。
当我使用面向公众的URL时,我发现一些axd文件请求间歇性地被重新路由到错误。aspx!世界跆拳道联盟!?!?!?!?!?
我被告知这是一个安全功能的结果,该功能旨在保护我不受跨站点脚本和其他各种不良内容的影响。我能做什么?
使现代化
在删除一些错误页面自动重定向后,我得到了一条更有意义的错误消息:
ASP.NET Ajax client-side framework failed to load.