同步调用带有jquery和参数的WCF服务

时间:2010-10-23 15:26:47

标签: .net jquery wcf

我从Ajax调用.NET WCF服务,如下所示:

result = $.ajax({
    type: "POST",
    // async: false,
    contentType: "application/json; charset=utf-8",
    url: BaseUrl + "Services/YucataService.svc/SetGameStatusSecure",
    data: "{'gameID':'" + gameID + "','pid':'" + pid + "','status':'" + newStatus + "','origStatus':'" + oldStatus + "'}",
    dataType: "json",
    timeout: 20000
});

服务器部分如下所示:

[OperationContract]
public void SetGameStatusSecure(int gameID, int pid, string status, string origStatus)
{
   ... magic stuff happens
}

效果很好。

现在,我想同步调用该服务。我唯一的改变是添加“async:false”。 呼叫返回状态为500(=内部服务器错误)。

我是否必须以不同方式配置WCF服务以允许同步调用?

在我切换到WCF之前,我使用.asmx服务同步调用,我没有任何问题。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我认为默认情况下WCF接受同步调用。如果要使其异步,则需要确保选中“高级”选项卡下的“生成异步操作”。 (在添加服务参考时)。默认情况下,此复选框始终未选中。