2010-07-23 59 views
1

我被要求開始一個新的網絡項目,我有點害怕要採取什麼樣的路徑。我應該採取什麼方式

我一直在幫助這個社區,在過去的一年裏我從你身上學到了很多東西,你太棒了!當這個問題出現的時候,你是我唯一可以要求直接負責任的答案的朋友。

該項目具有處理超過20000個在線用戶24天(十二月),發送電子郵件一切每天都和排序成爲處理來自這些電子郵件登陸頁面,與Flash共同行動,使一切門戶用戶可配置。

我,從我的經驗,我應該用MailChimp作爲郵件處理程序,因爲他們有便宜的價格,這和所有的可以從他們的API來完成。

我唯一的dubt是使用什麼技術。

我所有的生活我一直是微軟的愛好者,因爲ASP和最近5年的.NET,但這一切都快速增長!我無法忍受它。

我的第一個想法是MVC 2.0 Azure中,但我,因爲我從來不是一個「雲」和所有的雲資源庫開發的...來處理如此多的用戶有點害怕,而且大多我從來沒有使用過MVC之前,並始終讓我暫停潛水,因爲它有點回到ASP天和腳本語言...

我認爲這種有點配置的WebForms是一個殺手,所以我打開任何想法

我是否應該投資我並在2/3個月內進入MVC並完成這個大項目?真正開發的部分是處理管理區域,使用戶能夠更改整個着陸頁的所有內容。

如果我只是不停地在我的confy「空間」,做與URL的WebForms重定向

線框的菜單中的一個可以波紋管看到說明,用戶可以有

「千」小選項

alt text http://cl.ly/1kQx/content

它不縫是一個矯枉過正的問題,我只需要適當地設計數據庫並思考可擴展性......我只是害怕我進入一堵磚牆,意識到我不應該做的事情像那樣並且浪費了15天....作爲示例:(

任何想法非常感謝。

回答

0

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/2userId = 1itemId = 2自動

我可以列出更多但事物的乾燥性已經足夠讓我切換。

注意,幾乎所有的MVC可以定製自己的喜好(例如,用於渲染表單模板...渲染列表框等模板)

我是一個非常代碼爲中心的傢伙,因此我的偏見,但我認爲這些好處應該同樣適用於你。

想象一下,通過內置自動驗證和表單數據解析功能,您可以節省多少代碼/時間。

所以,只要潛入!在您習慣之前可能需要一段時間,但是一旦您開始使用它,您將不會再想回到WebForms ......特別是對於那些具有諸多形式的項目。

+0

我喜歡「automagically」部分:) – balexandre 2010-07-23 17:33:45

相關問題