Настройка Response.Status создает исключение «Строка состояния HTTP недействительна»

Я пишу обработчик HTTP в ASP.NET 4.0 и IIS7, и мне нужно создать файл - условие не найдено.

Я скопировал следующий код из новой книги Мэтью Макдональда, Pro ASP.Net 4 в C # 2010. (Переменная ответа является экземпляром текущего HttpResponse.)

response.Status = "File not found";
response.StatusCode = 404;

Однако я обнаружил, что первая строка генерирует ошибку времени выполнения . Строка состояния HTTP недействительна.

Если вместо приведенных выше строк я использую следующее:

response.Status = "404 Not found";

Тогда все вроде работает нормально. На самом деле, я даже вижу для этого response.StatusCode автоматически устанавливается значение 404.

Моя проблема в том, что я не хочу, чтобы на производственном сервере произошел сбой. Я бы почувствовал себя намного лучше, если бы мог понять «правильный» способ сделать это. Почему первый подход сработал для Мэтью Макдональда, но не для меня? Всегда ли будет надежным второй подход?

Кто-нибудь может дать какие-нибудь советы?

35
задан Jonathan Wood 9 January 2011 в 05:06
поделиться