从ASP.NET 2.0迁移到ASP.NET 3.5后,无法从javascript调用Web服务

时间:2010-10-06 02:35:20

标签: asp.net web-services

我有一个ASP.NET 2.0应用程序(使用Ajax Extensions 1.0),我刚刚迁移到ASP.NET 3.5。

在我的应用程序中,我有一个从javascript调用的Web服务(该服务具有[ScriptService]属性)并且一切正常,直到我迁移了我的应用程序。现在,Web服务不再响应了。

注意:我不使用ScriptManager控件或任何其他花哨的东西。我使用/mywebservice.asmx/js生成了WebService代理代码,生成的js文件作为静态js文件添加到我的应用程序中。我在3.5中重新生成了JS文件,但它仍然不起作用。

有什么想法吗?

提前致谢

更新

很抱歉找不到相关信息。我更像是一个后端开发者,我的javascript知识普遍很差。我将尝试在FireBug中跟踪错误并在此处发布更多信息(必须首先弄清楚如何使用FireBug调试JS)。

UPDATE2

很抱歉浪费你的时间,我检查了Fiddler(在发布问题之前我应该​​先做,但不知怎的,我假设没有发生任何事情。我想我只是老了又傻了!)而且web服务实际上是工作(我刚刚检查了Fiddler中的JSON响应),所以它似乎是客户端上的Javascript问题。

@Chris,我不能对你的答案发表评论(我试着时会收到错误)所以我会在这里发布。首先,非常感谢您的回答。实际上我使用POST进行Web服务调用(ASP.NET 2.0及更高版本中的默认设置)

2 个答案:

答案 0 :(得分:0)

您是如何迁移应用的?听起来像你有一个新的web.config文件没有为web服务启用http get

<configuration>
  <system.web>
    <webServices>
      <protocols>
        <add name="HttpGet"/>

答案 1 :(得分:0)

回答我自己的问题:正如我在更新中提到的,问题不在于Web服务无法运行。问题实际上是从Web服务返回的JSON在3.5中是不同的。有关详细信息,请参阅:

http://encosia.com/2009/02/10/a-breaking-change-between-versions-of-aspnet-ajax/