C# 重定向时出现意外的流结束异常
我正在测试一个ASP.NET MVC应用程序。有一个控制器,其方法如下所示:C# 重定向时出现意外的流结束异常,c#,asp.net,asp.net-mvc,exception,C#,Asp.net,Asp.net Mvc,Exception,我正在测试一个ASP.NET MVC应用程序。有一个控制器,其方法如下所示: [HttpPost] public async Task<ActionResult> Login(LoginForm loginForm) { // Do some work return RedirectToAction(nameof(Admins)); } public async Task<ActionResult> Admins(ExtendedPagingForm
[HttpPost]
public async Task<ActionResult> Login(LoginForm loginForm)
{
// Do some work
return RedirectToAction(nameof(Admins));
}
public async Task<ActionResult> Admins(ExtendedPagingForm form)
响应包含内部服务器错误信息:
IOException:意外的流结束,内容可能已经
已被另一个组件读取
据说RedirectToAction向浏览器返回HTTP 302响应,这会导致浏览器对指定的操作发出GET请求。所以,无论是在浏览器中,还是在邮递员中,它都不能工作,但在那里它工作得很好。我可以强制我的httpClient发送带有数据或模拟请求正文的POST请求吗?我已经解决了这个问题。
我将
MultipartFormDataContent
更改为FormUrlEncodedContent
,在我的案例中,它可以工作,我已经在使用FormUrlEncodedContent
,但它仍然在发生。我的是一个Xamarin项目
重新启动VisualStudio和Emulator帮助了我
var url = $"{TestConfig.Instance.ServerUrl}/{actionMethod}";
var sendForm = GetFormContent(new MultipartFormDataContent(), sendData); //login and password
HttpResponseMessage response = await httpClient.PostAsync(url, sendForm);