Если вы говорите об ASP.NET MVC, то у вас должен быть метод контроллера, который возвращает следующее:
return Redirect("http://www.google.com");
В противном случае нам нужна дополнительная информация об ошибке, которую вы получаете в перенаправлении , Я бы сделал шаг, чтобы убедиться, что URL не пуст.
В yield return
пример, результат оценен на каждом вызове IEnumerable.MoveNext
, тогда как в примере списка, все результаты оценены, перед эти IEnumerable
возвращается (обратите внимание, что эти Text
свойства не могут быть оценены для каждого результата как кэширование, и встраивание может произойти). Поэтому с yield return
необходимо получить маленькое улучшение производительности на первом вызове к перечислителю и затем потенциально маленькому снижению производительности на каждом последующем вызове к IEnumerable.MoveNext
, поскольку свойство оценено.
Одна из больших вещей приблизительно yield return
- то, что можно возвратить бесконечные последовательности, случайные последовательности и все виды других новых перечислений, которые или были бы чрезвычайно неэффективны или невозможны сделать с моделью создания списка сначала.
Для помещения это просто, возвращая экземпляр List
требует, чтобы все элементы в списке были оценены до возврата эти IEnumerable
, тогда как использование yield return
позволяет каждому элементу быть вычисленным, поскольку это требуется потребителем IEnumerable
.