Какой путь мне выбрать - PullRequest
1 голос
/ 23 июля 2010

Меня попросили начать новый веб-проект , и я немного боюсь, какой путь выбрать.

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

Проект должен обрабатывать более 20000 онлайн-пользователей в течение 24 дней (в декабре), отправляя электронные письма всем жителям каждый день, и стал своего рода порталом, который обрабатывает целевые страницы из этих писем, работая вместе с Flash сделать все настраиваемым пользователем.

По своему опыту я понял, что мне следует использовать MailChimp в качестве обработчика электронной почты, поскольку у них низкие цены на это, и все это можно сделать с помощью их API.

Мой единственный сомнение - какую технологию использовать.

Всю свою жизнь я был любителем Microsoft, начиная с ASP и последние 5 лет .NET, но это все ооочень быстро! Я не могу продолжать с этим.

Моей первой идеей была MVC 2.0 в Azure , но я немного напуган, так как никогда не разрабатывал «облако» и все эти облачные хранилища ... для работы с таким количеством пользователей, и в основном Я никогда не использовал MVC до и всегда заставлял меня задерживаться, так как это похоже на дни ASP и язык сценариев ...

Я думаю, что WebForms для такой конфигурации - убийца, поэтому Я открыт для любых идей .

Должен ли я инвестировать в меня и погрузиться в MVC на 2/3 месяца и закончить этот большой проект? что действительно развивающаяся часть - это область администрирования, которая дает пользователям возможность изменять все, что касается всей целевой страницы.

Должен ли я просто оставаться в своем "свободном месте" и создавать веб-формы с URL-перенаправлениями

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

альтернативный текст http://cl.ly/1kQx/content

Это не кажется излишним, мне просто нужно правильно спроектировать базу данных и подумать о ее расширяемости ... Я просто боюсь, что попадаю в кирпичную стену и понимаю, что не должен делать такие вещи и впустую 15 дней .... как пример: (

любая идея очень ценится.

1 Ответ

0 голосов
/ 23 июля 2010

MVC 2.0 очень СУХОЙ из коробки (исключая некоторую зависимость от магических струн)
Взять, к примеру:

<%= Html.EditorForModel() %>

BAM !, теперь все ваши формы сокращены до 1 строки ... автоматически отображая правильную форму для выбранной модели ...

public class LoginToken
{
  [Required, StringLength(50), RegularExpression("blahblah")]
  public string Username { get; set;}

  [Required, StringLength(50)]
  public string Password { get; set; }
}

Обратите внимание на декларативные атрибуты проверки, которые можно добавить в форму, просто включив уже включенный jquery.validate.js (они автоматически проверяются на стороне сервера) и еще около 2 строк кода в ваших представлениях.

А также все ваши поля автоматически сопоставляются с вашими классами:

[HttpPost]
public ActionResult Login(LoginToken token) {

  // re-display the form is there's any validation errors
  if (!ModelState.IsValid) return View();

  // validate username/password and logins
  bool result;

  using (var db = GetDB())
    result = (from u in db.Users
              let pwdHash = db.HashPassword(token.Password)
              where u.Username == token.Username &&
                u.PasswordHash == pwdHash
              select u).Any();

  if (result) // blah blah
}

Вы также можете сопоставить параметры из URL, такие как /url?paramOne=1&paramTwo=2 или /url/users/1/items/2 с userId = 1 и itemId = 2, автоматически

Я мог бы перечислить больше, но СУХОГО количества вещей было достаточно для меня, чтобы переключиться.

Обратите внимание, что почти все в MVC можно настроить по своему вкусу (например, шаблон, который используется для отображения формы ... шаблон для отображения списков и т. Д.)

Я очень ориентируюсь на код, поэтому я склонен, но я думаю, что эти преимущества должны относиться и к вам.

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

Так что просто погрузитесь! Это может занять некоторое время, прежде чем вы привыкнете к этому, но как только вы это сделаете, вам больше не захочется возвращаться к WebForms ... особенно для проектов с большим количеством подобных форм.

...