【发布时间】:2009-06-15 13:55:43
【问题描述】:
我有一个问题,我已经纠结了几天了。我在 VS 2008 SP1 中开发了一个 Web 应用程序,利用许多可用的 .Net 3.5 AJAX 功能以及大量 jQuery 代码。在我的本地机器(XP Pro SP3、.Net 3.5 SP1)上进行测试时,该应用程序运行良好。此应用程序作为主站点 (www.mainsite.com/newapp) 的子目录部署到我们的生产服务器(2K3、.Net 3.5 SP1)。主站点是一个.Net 2.0 站点。当我将此应用程序作为子目录部署到我们的生产服务器并运行它时,我得到难以捉摸的“Sys.WebForms.PageRequestManager”为空或未定义。
我浏览过来自不同来源的数十篇帖子,检查 web.config 文件、ISAP 映射、GAC 程序集、.axd 文件的 404 错误等,但没有一个适用。在解决问题的最后努力中,我将应用程序创建为主站点的子域,而不是子目录 (newapp.mainsite.com),并且 POOF 可以正常工作!一切正常,就像在我的开发机器上一样。
所以我的问题是,我怎样才能让它作为子目录工作?不,子域不是一个选项,因为这是一个应用程序的概念证明,最终可能会变成 100 个子目录。我错过了什么?我应该检查什么?在有人问之前,是的,当它是子目录时,它被配置为 IIS 上的应用程序(我实际上已经尝试将它作为应用程序和注册为应用程序的虚拟目录,两者都不起作用)。
时间不多了,因此我们将不胜感激。谢谢!
更新:为了帮助显示服务器和站点都为 .Net 3.5 正确配置,我使用实体框架和 LINQ to SQL 对象来执行我的数据操作。所有这些功能在子域和子目录环境中都可以正常工作。我知道这与网站对 MS Ajax jscript 文件的访问有关,我只是不知道如何弄清楚具体是什么问题以及如何纠正它。
【问题讨论】:
标签: asp.net-ajax