请求二进制读取 ASP.NET 5 (MVC6)

本文关键字:MVC6 NET 二进制 读取 ASP 请求 | 更新日期: 2023-09-27 18:35:37

我让这段代码在 MVC 5 ASP.NET 工作,但我无法让它在 MVC 6 (ASP.NET 5) ASP.NET 工作

有人可以帮助我吗?

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 的定义,并且没有 扩展方法 二进制读取 接受类型的第一个参数 可以找到 HttpRequest(您是否缺少 using 指令或 程序集引用?

我已经测试了这样的东西,但不起作用:

HttpContext.Request.BinaryRead

谢谢。

编辑:类似的问题 -二进制读取中的>错误

请求二进制读取 ASP.NET 5 (MVC6)

HttpRequestFeature 对象现在提供了一个流的主体。所以这应该有效。

    public static byte[] ReadRequestBody(Stream input)
    {
        using (MemoryStream ms = new MemoryStream())
        {
            input.CopyTo(ms);
            return ms.ToArray();
        }
    }

然后。。。

 var paramArray = ReadRequestBody(Request.Body);