Хорошо, у меня есть ситуация, которая, похоже, не имеет смысла. У меня есть контроллер, таким образом:MVC3 - При использовании HttpPostedFileBase с большими файлами, RedirectToAction очень медленный
public ActionResult Index()
{
return View(_courseService.ListAllCourses());
}
[HttpPost]
public ActionResult CreateNewCourse(CourseVDO course, HttpPostedFileBase CourseDataFile)
{
return RedirectToAction("Index");
}
и вид таким образом:
@using (Html.BeginForm("CreateNewCourse", "Home", FormMethod.Post, new { enctype = "multipart/form-data" }))
{
@Html.ValidationSummary(false)
<fieldset>
<legend>Course</legend>
<div class="editor-label">
@Html.LabelFor(model => model.Name)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Name)
@Html.ValidationMessageFor(model => model.Name)
</div>
<div class="editor-label">
Course Data File
</div>
<div class="editor-field">
<input type="file" name="CourseDataFile" id="CourseDataFile" />
</div>
<div class="editor-label">
@Html.LabelFor(model => model.Visible)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.Visible)
@Html.ValidationMessageFor(model => model.Visible)
</div>
<p>
<input type="submit" value="Create" />
</p>
</fieldset>
}
Когда я отправить файл из около 200KB, он загружает на сервер достаточно быстро (это местное в конце концов), но потом занимает 5 секунд, чтобы перейти от «return RedirectToAction (« Index »);« вернитесь к точке останова на «обратном представлении» (_courseService.ListAllCourses()); line (фактически не выполняет ListAllCourses). Это означает, что это полностью зависит от внутренней сантехники. Хуже того, эта задержка масштабируется с размером файла. Что происходит, и как я могу остановить его?
Благодаря
Приостановите отладчик и посмотрите на стек вызовов, чтобы узнать, что он делает. – SLaks
К сожалению, он НЕ отказался от своих секретов. Нет стека. Новый день и перезагрузка позже, и код работает так, как ожидалось. Хо Хум. – BenP
Отсутствует трассировка стека? Это не имеет смысла. Вы отключили Just My Code? – SLaks