ASP.NET MVC 4 小項目開發總結


項目很小,就是一個企業站的前后台,主要包括新聞模塊、產品模塊、視頻模塊、留言。沒有什么技術上的難點,大部分就是CRUD操作。開始之前評估開發時間為4天,實際coding時間為3天,debug時間為2天,關於debug時間較長的問題,后面有較為詳細的分析。

所用技術和工具

  • Visual Studio 2012
  • ASP.NET MVC 4
  • Entify Framework 5
  • Sqlite
  • Uploadify

關於ASP.NET MVC 4

相比MVC 3,個人感覺並沒有太大的變化,也許是一些新特性沒有用到。

debug花費時間分析

除開沒有后台頁面等其他因素,自身原因分析如下:

拿到需求后沒有進行較為詳細的確認

雖然項目需求簡單,但有些地方開始時疏於溝通,最終所省掉的時間還是用在了debug上,甚至更多。

瀏覽器兼容性問題

僅在開發階段使用chrome瀏覽器,ie系也僅測試ie10,其余未考慮,后續在瀏覽器兼容性方面的調試花費了較多的時間。

例如如下的問題:

  • ie7下jquery.validate報錯

    this.attr("novalidate", "novalidate"); 修改為:if (typeof (Worker) !== "undefined") { this.attr('novalidate', 'novalidate'); }

  • ie7下ckeditor的dialog加載iframe窗口高度不正常問題

    嘗試了很多網上的解決方案,均不管用,后來使用了一個非常規手段,就是給瀏覽器加上強制使用ie8模式的meta信息

  • ie8下jquery.validate不起作用

    版本匹配問題:經測試:jquery-1.8.2 with jquery.validate-1.9正常

uploadify控件使用不是很熟練

很多api需要現查官方文檔,而且官方站點還需翻牆。同時在集成uploadify到ckeditor里面的時候,也花費了較多的時間,主要是用在查官方文檔上面。這塊寫了較多的js代碼,在后續瀏覽器兼容性方面調試也比較麻煩。

  • firefox下上傳文件出現http error 302

    網上大部分的情況是firefox和chrome同時出現此問題,基本都是說session的原因,但我的環境chrome卻沒有出問題。我的解決方案比較簡單,就是對上傳文件的后台action取消授權檢查。應該還是跟session有關,更好的解決方案可查詢谷歌。

Entity Framework sqlite數據源適配問題

主要是開始無法新建sqlite數據源,ef的設計器總是報錯,無法通過數據庫更新實體等。另外sqlite中文模糊查詢問題。

    • 設計器報錯問題

      需要到sqlite官網下載合適的數據源驅動程序http://system.data.sqlite.org/index.html/doc/trunk/www/downloads.wiki

    • sqlite中文字符串模糊查詢問題

      原來使用的方式:dbcontext.Post.Where(t=>t.Name.Contains(s)),對應的sql語句為charindex,改為:list = context.Database.SqlQuery(string.Format("select * from product where name like '%{0}%'",arcTitle)).AsQueryable();


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM