Похоже, проверьте исходный код ControllerActionInvoker.cs. Я не проверял его, но логика говорит мне, что возврат void установит actionReturnValue равным null, поэтому генерируется EmptyResult. Это самый последний исходный код, не проверял источник для ASP.net MVC 1.0.
protected virtual ActionResult CreateActionResult(ControllerContext controllerContext, ActionDescriptor actionDescriptor, object actionReturnValue) {
if (actionReturnValue == null) {
return new EmptyResult();
}
ActionResult actionResult = (actionReturnValue as ActionResult) ??
new ContentResult { Content = Convert.ToString(actionReturnValue, CultureInfo.InvariantCulture) };
return actionResult;
}
Ответ 3
Он не будет "преобразовывать" его, но оба будут иметь тот же эффект, что и пользователь. Запрос будет отправлен, но ответ не будет возвращен клиенту.
Лично я считаю, что вам нужно отправить какой-либо ответ обратно клиенту, даже если вы просто напишите продолжение или успех непосредственно в потоке ответов. Даже JSON true или пустой XML-документ лучше, чем ничего.