开发者

Doing a POST to a Service Operation in ADO.NET data services

Is it possible to POST to a service operation defined in an ADO.NET data service (it is decorated with WebInvoke)? I had no problem calling the service operation as an HTTP GET. However, when I switched to doing a POST, the stack trace consistently comes back with "Parameter cannot be NULL". I am using the jQuery syntax below, and sending the POST as JSON (though I'm not including the $.ajax call, the parameter names line up exactly). It would be possible to try this with WCF, as opposed to ADO.NET data services (newly renamed as WCF data services). However, my preference would be to use this approach first. I have tried this with and without the stringify method. Most examples online onl开发者_开发技巧y show how to use a POST to entities (i.e. for handling CRUD operations). However, in this case we are POSTing to a Service Operation.

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();
}


According to my knowledge, ado.net data service has some limitation toward your approach, one alternatively, you could pass your parameters using get request, if you are sending huge parameter u could use $batch to overcome that.

http://social.msdn.microsoft.com/Forums/en-US/adodotnetdataservices/thread/40a1d8a2-c0d7-45ff-88a0-ce8697b37155

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜