JQuery 只调用 WCF web 方法几次

Posted

技术标签:

【中文标题】JQuery 只调用 WCF web 方法几次【英文标题】:JQuery only calls WCF web method a few times 【发布时间】:2016-07-01 05:45:34 【问题描述】:

我有一个具有 aspx 默认页面、一些 jquery 脚本和 .svc WCF 服务文件的 Visual Studio 项目。如果我用浏览器连接(非调试)它工作正常,但是当我在 VS 中调试并点击一个调用 Web 方法来显示服务器时间的按钮时,它第一次和第二次工作正常,但然后再次显示第一次和两次循环。如果我在 web 方法上设置断点,它不会在前几次之后中断。

这是否与他们在同一个项目中的事实有关?

对不起,这里是 JQuery 函数:

function controlOutput(outputNumber, state) 
var webMethod = "ControlOutput?DeviceIPAddress=" + adamsIPAddress + "&OutputNumber=" + outputNumber + "&State=" + state + "&vSessionID=" + sessionID;
var fullCommandURL = webServiceUrl + webMethod;
jQuery.support.cors = true;
$.ajax(
    type: "GET", //GET or POST or PUT or DELETE verb
    url: fullCommandURL, // Location of the service
    contentType: 'application/json; charset=utf-8', // content type sent to server
    dataType: "json", //Expected data format from server
    success: function (result) //On Successfull service call
        connectionInfo = result;
        $(h2Test).text(result);
        //alert(result);
    ,
    error: function (result) // When Service call fails
        alert(result.statusText);
    
);

以及 WCF 服务代码:

    public string ControlOutput(string DeviceIPAddress, int OuputNumber, int State, Guid SessionID)
    
        try
        
            string ret = DateTime.Now.ToString("HH:mm:ss.fff");
            AdamSocket adamSocket = new AdamSocket();
            adamSocket.SetTimeout(1000, 1000, 1000);
            bool con = adamSocket.Connect(DeviceIPAddress, ProtocolType.Tcp, 502);
            bool res = adamSocket.Modbus().ForceSingleCoil(17, State);
            adamSocket.Disconnect();
            return ret;
        
        catch (Exception ex)
        
            LogEvent(null, "Application Exception", ex.Message, SessionID);
            return "Failed";
        
    

【问题讨论】:

请发布您的代码,以便我们为您提供帮助。 有人可以帮忙吗?我原以为很多人都有这个问题,因为它在我的系统上非常可重现...... 【参考方案1】:

原来 GET 命令正在缓存,因此只执行了几次。使用 POST 解决了这个问题。 ;)

【讨论】:

以上是关于JQuery 只调用 WCF web 方法几次的主要内容,如果未能解决你的问题,请参考以下文章

使用 POST 方法从 jQuery Ajax 调用 WCF 服务

从 jQuery AJAX 调用 WCF 服务方法返回 404

从 Jquery 调用的 WCF:不允许的方法

当 WCF 方法抛出异常时,使用空响应调用 jQuery 成功回调

挂钩到第 3 方 Web 服务 (WCF) 调用

Jquery Ajax调用aspx页面方法