ServiceStack请求POST正文作为查询字符串

我想在C#中实现一个IPN处理程序,并且使用ServiceStack作为我的后端框架。 然而,我面临以下问题;

我试图找到一种方法将请求的POST正文作为查询字符串,但我未能这样做。 我正在使用IRequest.GetRawBody(); 但POST数据以格式化的方式返回以使其可读。

有什么方法可以轻松地将POST主体作为查询字符串? 我想要类似于PHP的$ _POST的东西,所以我可以使用HMAC SHA256来隐藏数据,但是我可以找到一种方法来完成它,而无需编写与POST请求主体的硬编码细节有关的帮助类。 我试过在线和ServiceStack的文档,但我没有发现任何有用的东西。

任何帮助将非常感激,提前致谢!


QueryString位于URL而不是请求正文中。 如果您只想访问已发布的原始请求主体,则可以让您的请求DTO实现IRequiresRequestStream,该指令告诉ServiceStack跳过对序列化身体的操作,以便您可以自行反序列化它,例如:

public class MyRequest : IRequiresRequestStream
{
    public Stream RequestStream { get; set; }
}
public class MyServices : Service
{
    public object Any(MyRequest request)
    {
        var bytes = request.RequestStream.ReadFully();
        var text = bytes.FromUtf8Bytes();
        ...
    }
}
链接地址: http://www.djcxy.com/p/68719.html

上一篇: ServiceStack request POST body as query string

下一篇: ServiceStack Client Put request and query parameters