Почему WebResponse никогда не заканчивается при чтении потока пожарного шланга Твиттера?

Это на самом деле действительно трудно для создания достойного электронного письма HTML при приближении к нему от 'современного HTML и CSS' перспектива.

Для лучших результатов, предположите, что это - 1999.

  • Возвращаются к таблицам для расположения (или предпочтительно - не делают попытку никакого сложного макета)
  • бояться фоновых изображений (они прерывают Outlook 2007 и Gmail).
  • style-tag-in-the-body вещь состоит в том, потому что Hotmail раньше принимал его тот путь - я вполне уверен, они разделяют его теперь все же. Используйте встроенные стили с эти style атрибут, если необходимо использовать CSS.
  • Забывают полностью, что [приблизительно 111]
  • Помнят, что Ваши изображения будут, вероятно, заблокированы - используют цвет фона, и цвет текста в ваших интересах - удостоверяются, что существует некоторый читаемый текст с изображениями, отключенными
  • Быть очень осторожным со ссылками, особенно опасаться чего-либо, что похоже на URL в тексте ссылки - Вы возмутите фильтры 'фишинга' (например, www.someotherdomain.tld плохи )
  • , Помнят, что "сгиб" на клиентах веб-почты имеет тенденцию быть чрезвычайно высоким выше на страницу (на 1024x768 экран, большинство интерфейсов не покажет приблизительно больше чем сто пикселей) - получают Ваш материал идентификационных данных в праве наверху, таким образом, получатель знает, кто Вы.
  • Последняя версия перспективы имеет область предварительного просмотра "портрета", которая является значительно более узкой, чем можно ожидать - очень опасаться разметок фиксированной ширины, если необходимо использовать их, сделайте их столь узкими, как Вы можете.
  • не Делают даже , думают о флэш-памяти, JavaScript, SVG, холсте или чем-либо как этот.
  • Тест, много. Удостоверьтесь, что Вы тестируете в недавнем Outlook (вещи изменились много! Это теперь использует Word в качестве своего механизма визуализации HTML, и этому наносят вред: поддержка Word 2007 HTML/CSS ). Gmail является довольно привередливым также. Удивительно веб-почта Yahoo чрезвычайно хороша с хорошей поддержкой CSS.

Удача;)

Обновление для ответа на дальнейшие вопросы:

не используют больше чем два уровня вложения в таблицах

, я полагаю, что это - более старая инструкция, имеющая отношение к Lotus Notes. Вложенные таблицы должны быть хорошо, но действительно, если у Вас есть расположение, это усложнило достаточно для необходимости в них, Вы, вероятно, собираетесь испытать затруднения так или иначе. Сохраните свое расположение простым .

остерегаться вложенных фоновых изображений в ячейках/таблицах

Это может быть связано с вышеупомянутым, и то же применяется, если Вы доберетесь, который усложнил тогда, то Вы будете иметь проблемы. Последние версии Outlook не поддерживают фоновые изображения вообще, таким образом, Вам настоятельно рекомендовали бы забыть о них полностью.

6
задан martimedia 10 December 2009 в 18:26
поделиться

2 ответа

Передайте свой WebRequest как HttpWebRequest , затем перед прерыванием вызовите request.Abort ()

3
ответ дан 17 December 2019 в 20:32
поделиться

Похоже, это как-то связано с процессом удаления или "использованием" ...

Следующий код работает нормально (без операторов "using"):

public static void GetStatusesFromStream(string username, string password, int nMessageCount)
    {
        WebRequest request = WebRequest.Create("http://stream.twitter.com/1/statuses/sample.json");
        request.Credentials = new NetworkCredential(username, password);

        WebResponse response = request.GetResponse();
        {
            var stream = response.GetResponseStream();
            {
                var reader = new StreamReader(stream);
                {
                    while (!reader.EndOfStream)
                    {
                        Console.WriteLine(reader.ReadLine());

                        if (nMessageCount-- < 0)
                            break;
                    }
                }
                Console.WriteLine("Never gets here!!!");
            }
        }

        Console.WriteLine("Done - press a key to exit");
        Console.ReadLine();
    }
-1
ответ дан 17 December 2019 в 20:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: