ASP.NET MVC 3 + AppHarbor 無痛進入新時代

由 andy 發表於 九月 24, 2011 / 4 則評論

今天分享這篇文章是希望可以有更多人來玩 ASP.NET MVC !!

一直以來我覺得ASP.NET 對於一些原本是OpenSource 開發者轉進微軟Solution的人來說,最討厭的就是;一個可以讓自己開心測試玩樂的環境難求!在銀彈不足的情況下常常需要東找西找.至於找什麼大家心裡明白就好XD 外加大多數的公司老闆不太會因為你的好奇心就貿然用新版的軟體,Framework,所以很多時候是自己有心可是大環境有點無奈,更多的情況應該是就算Express版本和一些免費的SDK都可以玩.但是玩玩之後要分享給朋友真的是好麻煩. 如果你又想使用MSSQL那就更討厭了今天發現了這個方便的服務配合整理一些前輩的文章希望大家也可以來玩。

何謂AppHarbor ?

 AppHarbor 是一個PaaS服務,如果你還不明白這是啥可以參考 Wiki 簡單說明 ! 如果你需要的是一些實例那可以參考這篇

在稍微理解一些前因後果之後,馬上就可以先來註冊一下。

比起微軟本身的Azure我覺得這個服務實在是單純超多的。就是輸入資料註冊完之後建立一個App

接著就是照著像GitHub開專案的方式照著上面指令打

在New Application? 的第一個步驟 整理了一些前輩的好文章讓大家可以快速理解上手

 

ASP.NET MVC 3 豬走路範例 (1)

ASP.NET MVC 3 豬走路範例 (2)

ASP.NET MVC 3 豬走路範例 (3)

ASP.NET MVC 3 豬走路範例 (4)

建議是先看完第一篇有點概念就可以回來繼續建置環境。上傳之後就可以看到了還可以做版本上線的切換WOW 這實在是讓我HIGH到不行

 

底下有個DB可以增加MSSQL 20MB免費當然也可以支援MySQL。接著就可以用SQL Server Management Studio 2008 連進去了

裡面甚至貼心的連WebConfig的設定都幫你產生了。

 

 

就這樣瞬間完成一個簡單的DEMO站  LOL

然而這個服務免費的部分是當你只開一個實體(方案)的時候且資料庫MSSQL只能用20MB如果要再多開就會要收錢。不過如此簡單的註冊方式就….

 

筆記備註:

在ASP.NET MVC裡關於路徑對應之間的關係這裡記錄另一個簡單的流程筆記!

1. 網址的意義 http;//url.com/controller/action?params  範例 http://url.com/Home/Index  

2. 當讀取到Controller時就是範例中的Home會到Controllers/HomeController.cs

3. 然後再到Controllers/HomeController.cs 裡面找到Index()這個Action

4. 回傳的View會對應到Views/Home/Index.cshtml

5. 總結:一個Controller會在Views目錄底下有一個對應的目錄例如上面的Home就會在Views/Home有這個目錄裡面的Action則會在該目錄底下有一隻.cshtml

其他:

    如果要在Razor語法中顯示@ 使用@@就會脫逸

    改變主Layout的方式最單純的方式就是  return View("About""~/Views/Shared/_MyLayout.cshtml"

 

關於作者

喜愛閱讀心理學與程式,資訊技術相關書籍,電影偏愛血淋淋,需要動腦的懸疑解謎,災難科幻類型.平時運動:游泳,慢跑等...最愛的一句話: Divide and Conquer! 無法掌握現在,如何談及未來!目前職業是程式設計師.

評論

  1. david 說: 2012/05/20

    剛剛有查了一些資料,我想上傳圖片的部分我會改成用 Amazon S3 來當圖片的儲存空間,因為剛剛測試發現只要重新 Commit ,使用者上傳的圖片就會消失(因為上傳檔沒有包含在 Commit 的 file 裡)  

    http://support.appharbor.com/discussions/problems/1957-user-uploaded-content

    MVC 實作的方法
    http://support.appharbor.com/discussions/problems/749-handling-uploading-files

    看起來還滿簡單的 :)

  2. andy 說: 2012/05/20

    @david,
    使用PaaS的好處是開發人員不需要特別在去關心Server環境的一些設定並且部署會比較輕鬆(使用git的方式)這部分你也可以快速下載整個專案,但前提就是這些動作都由專業人員這邊來操作會比較好除了自己寫備份功能 把圖片複製到其他FTP或打包zip 另外也可以嘗試http://support.appharbor.com/kb/3rd-party-integrations/integrating-with-github 其他工具 把images folder 提供給對方直接下載 這部分小弟再來想想有啥比較快速的實作方式

  3. david 說: 2012/05/20

    AppHarbor 我已經使用在開發專案中的,配合 Git 來做版本控管很好用,不過現階段還在考慮等專案要上線時要不要推廌客戶付費使用它,還是用台灣一般的虛擬主機就好。

    最主要的原因就是 AppHarbor 跟傳統使用 ftp 上傳/下載 有很大的差異,如果網站有提供上傳圖片的功能,當客戶想備份圖片時,不是使用 ftp 連線上去就可以輕易備份的。

    可能要在後台自己寫個下載備份圖片的功能!!

發表評論至 Derek

*