我有这个代码在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(你是否错过了使用指令或者 汇编参考?)。
我已经测试了这样的事情,但没有工作:
HttpContext.Request.BinaryRead
感谢。
编辑:类似问题 - > Error in binary read
答案 0 :(得分:4)
HttpRequestFeature对象现在提供body which is a stream。所以这应该工作。
public static byte[] ReadRequestBody(Stream input)
{
using (MemoryStream ms = new MemoryStream())
{
input.CopyTo(ms);
return ms.ToArray();
}
}
然后......
var paramArray = ReadRequestBody(Request.Body);