Как я создаю вращающиеся блоки рекламы в ASP.NET MVC?

Проблема в том, что вы отправляете ответ дважды. Попробуйте, как показано ниже, сработать, если не вернуть меня обратно.

else { res.status(error.response.status) Return res.send(error.response.data.problem) }

20
задан niton 15 April 2015 в 00:02
поделиться

4 ответа

Я использовал бы OpenX, DART, Google Ad Manager , RightMedia , Рубикон , или некоторый другой менеджер по рекламе.

Однако, если я хотел создать его сам как осуществление, я был бы:

  1. Создают таблицу базы данных рекламных объявлений
  2. В моем основном контроллере, выбирают случайную рекламу в ViewData
  3. , Добавляет частичное представление к Вашей основной странице для рендеринга рекламы
  4. [Самое главное] версия MVC-стиля Phil Haack Использования" пончик, кэширующийся ",

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

16
ответ дан 30 November 2019 в 01:11
поделиться

Я не знаю MVC, но есть ли что-нибудь останавливающее Вас использующий управление AdRotator?

http://msdn.microsoft.com/en-us/library/system.web.ui.webcontrols.adrotator.aspx

3
ответ дан 30 November 2019 в 01:11
поделиться

Вы могли просто генерировать случайное число и использовать его в качестве ключа массива для объявления, которое Вы хотите отобразить, но Вы не смогли бы гарантировать даже воздействие, и оно вызовет много проблем когда дело доходит до обмена деньгами. Приложение, которое было создано с этой целью, OpenX. Это предоставляет действительно подробно статистику, и она также позволяет Вам устанавливать, насколько каждое объявление должно быть отображенным ect. Ее очень мощное, много коммерческих веб-сайтов используют его для управления их рекламой.

1
ответ дан 30 November 2019 в 01:11
поделиться

Я должен был записать что-то в MVC для взвешенного управления рекламой, которое не показало ту же рекламу дважды подряд, если возможный и в моей поспешности я закончил с ужасным битом кода, который мог бы служить вдохновением для Вас.

я уверен, что существует много лучших способов сделать это (и я уже знаю случаи, где это пропускает дубликаты, когда это не было должно), но в течение короткого срока я потратил на него, это сделало задание.

    public List<Ad> GetRandomWeightedAds()
    {
        /* Generate random order list of ads with duplicates for ViewsPerRotation */
        List<Ad> returnList = GetAllAds().SelectMany(s => Enumerable.Repeat(s, s.ViewsPerRotation)).OrderBy(s => Guid.NewGuid()).ToList();
        for (int i = 0; i < returnList.Count - 1; i++) /* Compare all but the last element against subsequent element */
        {
            if (returnList[i].Id == returnList[i + 1].Id)
            {
                /* If next to an identical element try and find a new spot for the subsequent element */
                for (int j = 0; j < returnList.Count; j++)  
                {
                    if (returnList[j].Id != returnList[i].Id /* Don't switch identical element back into same pos*/
                        && (j<i || j == 0 || j-1 == i || returnList[i].Id != returnList[j - 1].Id) /* When moving before current 'i', don't move into a place after an identical element */
                        && (j<i || j == returnList.Count - 1 || j + 1 == i || returnList[i].Id != returnList[j + 1].Id)) /* When moving before current 'i', don't move into a place before an identical element */
                    {
                        returnList[i] = returnList[j];
                        returnList[j] = returnList[i+1]; /* returnList[i+1] == returnList[i] */
                        break;
                    }
                }
            }
        }
        return returnList;
    }
0
ответ дан 30 November 2019 в 01:11
поделиться
Другие вопросы по тегам:

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