我试图读取 ServiceStack 服务中的原始输入流。我已将 DTO 标记为IRequiresRequestStream
,并且要读取的代码会执行,但内容始终显示为空白。
在 IE9 中使用调试模式,我可以看到原始 HttpRequest 包含传递的 POST 中的文本。
这是我来自最小测试服务的代码,仅用于显示对内容和查询的阅读:
[Route("/qtest")]
public class QueryTestRequest : IReturn<string>, IRequiresRequestStream
{
public Stream RequestStream { get; set; }
}
public class QueryTestService : Service
{
public string Any(QueryTestRequest request)
{
var r = new StringBuilder();
r.Append("<p>This is the query test service:");
r.AppendFormat("<p>Parameter value={0}", base.Request.QueryString["value"]);
var postStream = new StreamReader(request.RequestStream);
var postContent = postStream.ReadToEnd();
r.AppendFormat("<p>Raw Content={0}", postContent);
return r.ToString();
}
}
我在这里想念什么?