我有一个Visual Studio项目,它包含aspx默认页面,一些jquery脚本和.svc WCF服务文件。如果我连接浏览器(非调试),它工作正常,但当我在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";
}
}
答案 0 :(得分:0)
事实证明GET命令是缓存的,所以只执行了几次。使用POST修复此问题。 ;)