我设置了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”}
答案 0 :(得分:1)
怎么样:OperationContext.Current.RequestContext.RequestMessage
?
答案 1 :(得分:1)
我猜输入流是空的,因为它已经被消耗了。您需要在读取输入流之前挂钩系统以保存它以供稍后我相信。见Request.InputStream is empty when service call is made