【发布时间】:2013-02-06 23:39:45
【问题描述】:
我正在为从 Request.InputStream 读取 POST 正文的 WebApi 控制器编写单元测试。我需要设置 HttpContext.Current.Request.InputStream 的 inputstream 属性,或者设置 inputstream 的内容。到目前为止,这是我的单元测试代码,但它不断抛出异常:
var originalStream = HttpContext.Current.Request.InputStream;
Stream newStream = new MemoryStream(ASCIIEncoding.Default.GetBytes("Test String"));
var propInfo = originalStream.GetType().GetProperty("CanWrite");
propInfo.SetValue(originalStream, true);
newStream.CopyTo(originalStream);
propInfo.SetValue(originalStream, false);
我在 SetValue 行收到以下异常:
ArgumentException: Property set method not found
我做错了吗?我的控制器读取输入流并将其反序列化为 JSON,因此我需要能够将数据插入到该流中。我只是不知道该怎么做。非常感谢。
【问题讨论】:
标签: c# .net asp.net-mvc-3 reflection asp.net-web-api