是否可以对在ADO.NET数据服务(使用WebInvoke装饰)中定义的服务操作进行POST?将服务操作作为HTTP GET调用没有任何问题。但是,当我切换到POST时,堆栈跟踪一直返回“参数不能为NULL”。我使用下面的jQuery语法,并将POST作为JSON发送(尽管我不包括$ .ajax调用,参数名称完全一致)。可以使用WCF来尝试这一点,而不是ADO.NET数据服务(新重命名为WCF数据服务)。但是,我的首选是首先使用这种方法。我曾尝试过这种方法,但没有使用stringify方法。在线大多数示例仅显示如何将POST用于实体(即用于处理CRUD操作)。但是,在这种情况下,我们正在发布服务操作。在ADO.NET数据服务中执行POST服务操作
function PostToDataService() {
varType = "POST";
varUrl = "http://dev-server/MyServices/MyService.svc/SampleSO";
varData = { CustomMessage: $("#TextBox1").val() };
varData = JSON.stringify(varData);
varContentType = "application/json; charset=utf-8";
varDataType = "json";
varProcessData = true;
CallService();
}
谢谢!这篇文章包含了我的问题的确切答案。显然,服务操作不支持POST。 – DataServices123 2010-05-18 22:09:26