2012-01-26 53 views
0

我调查的呼吁从AJAX,Web服务的问题与以下错误间歇性故障:AJAX调用ASMX Web服务间歇性故障

Exception information:
Exception type: InvalidOperationException
Exception message: Request format is unrecognized for URL unexpectedly ending in '/GetType'.

这是类似以下问题,但工程的最时间 - 只是间歇性地失败。

Request format is unrecognized for URL unexpectedly ending in

的UI调查每两秒钟一次,并且运行正常,直到某些状态改变,然后同样调用失败约1分钟30秒,然后他们继续工作。

的POST-ED的数据是一个成功的呼叫萤火虫相同的,失败的呼叫:

lastResult=''&lastState=33&random=0.7584943767104781 

以下配置适用于Web服务

<location path="TypeService.asmx"> 
    <system.web> 
     <webServices> 
      <protocols> 
       <add name="HttpPost"/> 
      </protocols> 
     </webServices> 
     <authorization> 
      <allow users="*"/> 
      <allow users="?"/> 
     </authorization> 
    </system.web> 
</location> 

相信的配置是正确的,因为这些电话会长时间工作。轮询机制在任何时候都不会改变。除了在其他问题中提到的配置修复之外,是否还有其他原因导致此错误消息?

回答

0

经过进一步调查,我们发现,我们得到这个错误是由于该服务的构造函数的实际代码错误 - 所以这是其中一个隐藏的错误,其中的错误信息并不真正表明问题。

-1

确保jQuery的AJAX调用应该是这样的,

$.ajax({ 
    type: "GET", 
    url: "/ajax.asmx/YOUR_METHOD", 
    data: "{}", 
    contentType: "application/json; charset=utf-8", 
    dataType: "json", 
    success: function (msg) { } 
}) 
+0

其实,它必须是POST,它的工作原理,因为正如我在我的问题中所述,问题是间歇性的。我也没有在这个项目中使用jQuery。如果来自JavaScript的AJAX调用不正确,则问题不会是间歇性的,它不会起作用。 – Fenton