在ASP.NET 5中请求BinaryRead(MVC6)
我有这个代码在ASP.NET MVC 5中工作,但我不能使它在ASP.NET MVC 6(ASP.NET 5)中工作
有人能帮我吗?
public EmptyResult PayPalPaymentNotification(PayPalCheckoutInfo payPalCheckoutInfo) { PayPalListenerModel model = new PayPalListenerModel(); model._PayPalCheckoutInfo = payPalCheckoutInfo; byte[] parameters = Request.BinaryRead(Request.ContentLength); if (parameters != null) { model.GetStatus(parameters); } return new EmptyResult(); }
错误在于:
byte[] parameters = Request.BinaryRead(Request.ContentLength);
HttpRequest不包含BinaryRead的定义,也没有扩展方法BinaryRead接受类型为HttpRequest的第一个参数(你是否缺少using指令或程序集引用?)。
我已经测试了这样的事情,但没有工作:
HttpContext.Request.BinaryRead
谢谢。
编辑:类似问题 – > 二进制读取错误
HttpRequestFeature对象现在提供一个作为流的主体 。 所以这应该工作。
public static byte[] ReadRequestBody(Stream input) { using (MemoryStream ms = new MemoryStream()) { input.CopyTo(ms); return ms.ToArray(); } }
然后 …
var paramArray = ReadRequestBody(Request.Body);