我有一个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及更高版本中的默认设置)
答案 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/