【发布时间】:2018-03-11 06:08:26
【问题描述】:
我正在测试一个 ASP.NET MVC 应用程序。有一个控制器,其方法如下:
[HttpPost]
public async Task<ActionResult> Login(LoginForm loginForm)
{
// Do some work
return RedirectToAction(nameof(Admins));
}
Admins 方法的签名如下:
public async Task<ActionResult> Admins(ExtendedPagingForm form)
我尝试像这样调用它:
var url = $"{TestConfig.Instance.ServerUrl}/{actionMethod}";
var sendForm = GetFormContent(new MultipartFormDataContent(), sendData); //login and password
HttpResponseMessage response = await httpClient.PostAsync(url, sendForm);
响应包含内部服务器错误信息:
IOException: Unexpected end of Stream,内容可能已经 已被另一个组件读取。
On MSDN 据说 RedirectToAction 会返回一个 HTTP 302 响应给浏览器,这会导致浏览器对指定的动作进行 GET 请求。所以它不能在浏览器中工作,也不能在 Postman 中工作,但它在那里工作正常。我可以强制我的 httpClient 发送带有数据或一些模拟请求正文的 POST 请求吗?
【问题讨论】:
标签: c# asp.net asp.net-mvc exception