我试图在运行IIS 7的Windows 2008系统上部署一个使用Ajax1.0的.NET 2.0 ASP.NET应用程序。
同一个应用程序在我的开发机器上运行得很好,但是在发布和部署时,即使没有显示错误消息,它也不会运行AJAX。异步调用只会刷新整个页面(描述的症状与这里相同,但我的xhtmlConformance标记设置为过渡性)。没有任何错误和消息证明AJAX库已经找到并成功地添加到项目中。
我读过一些关于这个主题的文章,据推测在web.config上有一些调整可以让它发挥作用,但是在遵循了其中的一些之后,我没有取得成功。
我已经将此示例web.config文件上所有可用的附加标记添加到正在运行的web.config中。
这个应用程序最初不是作为一个“启用AJAX的ASP.NET应用程序”创建的,而是作为一个常规的ASP.NET应用程序创建的,尽管它在我的开发环境中工作得很好。
问:在WindowsServer2k8和IIS7上使用Ajax1.0运行.NET Framework2.0 ASP.NET应用程序应该做些什么?
在被建议之前:我确实想把它更新到.NET框架的最新版本,并且正在进行这方面的工作,但我不是针对这样的主题打电话的人。
更新:
尝试访问/ScriptResource.axd (使用适当的查询字符串)会导致以下错误:
在此上下文中,会话状态不可用。
发布于 2011-07-28 16:51:35
事实证明,我在更新问题上添加的问题是导致整个问题的原因。
Ajax试图访问/ScriptResource.axd,并在global.asax上运行了一个方法,该方法访问会话变量,而实际上没有会话。
我所要做的就是在Global.asax上使用该会话之前检查它是否可用,如下所示:
if (HttpContext.Current.Session!=null)
{
// my code
}在这个博客上发现了该溶液。
发布于 2011-07-28 00:34:48
您已经在服务器上安装了ASP.NET Ajax1.0,并且已经将System.Web.Extensions添加到web.config中了吗?我不知道它在你的应用程序中有多好。在迁移到Windows3.5之前,我们使用包安装ASP.NET Ajax1.0。
至少你需要:
<compilation debug="false" defaultLanguage="c#">
<add assembly="System.Web.Extensions, Version=1.0.61025.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35"/>但是Microsoft在这里显示了一个完整的文件:ASP.NET AJAX 1.0 Web.config文件内容
https://stackoverflow.com/questions/6852146
复制相似问题