【问题标题】:Post to wcf service but Request.InputStream has a length of 0发布到 wcf 服务,但 Request.InputStream 的长度为 0
【发布时间】:2012-06-22 16:25:24
【问题描述】:

我有一个这样定义的 wcf 服务:

[OperationContract] [WebInvoke(Method = "POST", ResponseFormat = WebMessageFormat.Json)] public CreateOrderResponse CreateOrder(CreateOrderRequest request)

请求参数填充良好,但在我的方法中访问 HttpContext.Current.Request.InputStream 以获取原始帖子正文但 InputStream 为空,InputStream.Lenght 为 0。

我的问题是,当从 post 请求中正确填充请求参数时,为什么 Request.InputStream 为空?

【问题讨论】:

    标签: wcf


    【解决方案1】:

    您需要使用 CreateOrderRequest 实例及其相关属性。

    据我所知,我可能错了,Inputstream 将始终为 null,因为它在传递给 WCF 方法之前已经过处理。有关更多信息,请参阅此链接Capturing raw HTTP POST Data during Exception

    【讨论】:

    • 我的 InputStream 不为空,它的长度为 0。我可以很好地访问 CreateOrderRequest 实例上的所有属性,但我需要原始帖子正文来生成哈希键,所以我需要它与帖子正文完全一样,而不是几乎像我的 CreateOrderRequest 实例。
    • 请阅读我添加的链接。这解释了为什么信息不可用以及可能的解决方案。
    猜你喜欢
    • 2011-06-08
    • 1970-01-01
    • 2011-07-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多