在WCF服务中检索JSON请求有效负载

时间:2011-02-04 23:21:00

标签: wcf

我设置了IErrorHandler,用于通过log4net汇集所有wcf错误。我想在将它登录到服务器之前从请求中获取json有效负载数据,但我无法在System.Web.Context.Current.Request中找到它。我希望它在InputStream中,但那是空的。

我目前正在使用jquery做一个AJAX帖子,其中json作为数据传入。



$.ajax({
            url: 'http://test.com/myservice/service.svc',
            data: JSON.stringifyWcf({"id":1, "description":"thing"}),
            type: 'POST',
            processData: true,
            cache: false,
            contentType: 'application/json; charset=utf-8',
            timeout: 5000,
            dataType: 'json',
            success: function (result) {
                //do stuff
            }
});

我希望获得有效负载{“id”:1,“description”:“thing”}

2 个答案:

答案 0 :(得分:1)

怎么样:OperationContext.Current.RequestContext.RequestMessage

答案 1 :(得分:1)

我猜输入流是空的,因为它已经被消耗了。您需要在读取输入流之前挂钩系统以保存它以供稍后我相信。见Request.InputStream is empty when service call is made