WCF:REST服务接收http post数据的处理方法

通过定义UriTemplate,WebInvoke等就可以处理。

如下:

stream 输入流 例如:

[WebInvoke(UriTemplate = "import?url={encodedServiceUrl}", Method = "POST", RequestFormat = WebMessageFormat.Json, BodyStyle = WebMessageBodyStyle.Wrapped)]
        public ImportRest Create(Stream pstream, string encodedServiceUrl)

UriTemplate定义了参数匹配关系:我的参数如encodedServiceUrl,类型必须string

获取POST过来的数据信息。

定义Stream pstream参数就可以了。

获取代码如下:

 //获取requestBody
            string postJson = string.Empty;
            using (var reader = OperationContext.Current.RequestContext.RequestMessage.GetReaderAtBodyContents())
            {
                if (reader.Read())
                {
                   postJson = new string(Encoding.UTF8.GetChars(reader.ReadContentAsBase64()));
                }
            }

同样可以获取httpheader噢,如下:

 //获取requestHeard
            WebHeaderCollection headerCollection = WebOperationContext.Current.IncomingRequest.Headers;
            foreach (string item in headerCollection)
            {
                string value = headerCollection.Get(item);
            }

此条目发表在学习笔记分类目录,贴了, , 标签。将固定链接加入收藏夹。

2 则回应给 WCF:REST服务接收http post数据的处理方法

  1. 烘干机说:

    我们公司的博客 到现在邮件评论回复这块还不行

    • 王国栋说:

      如果是wordpress弄的,有很多插件支持的。google解决之。发邮件要有邮件服务器呢 ,首先确保都搭建好了或者主机就搭建过了。

发表评论

This site uses Akismet to reduce spam. Learn how your comment data is processed.