好康道相報
※加入部落軌道,讓你的部落格有更多人知道 《按此加入》《使用心得
※欲轉貼本站文章者,只要註明出處及網址即可,不需我同意了,謝謝您的配合
※留悄悄話的網友請注意:如果您非痞客邦會員(包含使用FB/Google+帳號),是看不到回覆的喔
※痞客邦會自動將疑似廣告留言隱藏,因此若留言後看不到,可能是被系統自動隱藏了,由於我現在很久才會開一次網誌,有看到時我才會將非廣告留言解開,敬請見諒

taggingSong_1.jpg  

網站連結

因為老師要求必須將現有的歌曲做分類,因此花了兩個禮拜研究ASP.NET做出來的產物
算是個問卷型態的網站吧,你所需要做的只要聽歌曲後,投下這首歌想表達的感覺跟風格即可
目前資料筆數還很少,所以需要各位網友跟朋友的幫忙
只要輸入暱稱並連續填完十題的網友,就可以選擇領取50P幣或50BO幣
而且不限只能填一次,填越多就送越多喔!
網站也可以選擇資料庫任意一首歌曲來填寫,不論你填幾首,我都衷心感謝
不過請勿隨便亂填,網站是有防護機制的喔= =+

 

以下是心路歷程,這網站真是多災多難

 

※程式語言的選擇

一開始就卡在要用ASP.NET或是用PHP來寫
其實我以前學過一學期的PHP+MySQL
ASP.NET則是完全沒碰過,但是我會寫VB.NET跟C#
幾經考慮下還是選擇了沒學過的ASP.NET
但不是因為我是微軟粉絲,而是PHP沒有比較好的編輯器
(當初寫PHP完全就是記事本慢慢輸入的)
相比ASP.NET有Visual Studio的「所見即所得」的編輯器,能做出比較好看的網站

 

※資料庫的選擇

既然都決定要用ASP.NET了當然是用SQL資料庫,還需要選擇嗎?
還是要!
本來我也是打算用MSSQL的,但不知為何裝起來後一直沒法連線
百般無奈之下,只好改用......ACCESS資料庫來儲存資料了
好處是方便存取備份,壞處就是之後遇到的問題了

 

※ASP.NET ≠ PHP

原以為ASP.NET應該是很好寫的,沒想到架構上完全跟PHP不同
PHP是用程式控制網頁,但ASP.NET變成用寫應用程式的方法來寫網頁
一開始我沒有意識到這個問題,馬上就遇到瓶頸了
比方說按下按鈕後,會先去執行Page_Load才執行Button的內容
這種設計就讓我很不能適應,很多語法卡在這裡
還有全域變數無法保存、Response.cookie跟Request.cookie的差異等等

 

※預覽發行不一樣

網站發行後,又遇到了一堆問題
比方說無法讀取Access資料庫的錯誤
原來是因為權限問題,外部連進來的使用者必須給予寫入檔案權限
另外原本使用MsgBox方法來顯示訊息,但在發行後就會產生錯誤
原來MsgBox只能給伺服器端Debug用
客戶端要顯示MsgBox必須用JavaScript的Alert...
所幸網路上有人教學如何在ASP.NET直接使用MsgBox方法

 

※網站要架在哪裡

本來是打算用Lab Server
沒想到在沒有裝Visual Studio的主機上,使用ASP.NET是多麼愚蠢的事情!
光是權限設定就把我搞得半死!
好不容易連進來後又發現aspx無法顯示,在學長提示下才知道
原來那台主機根本沒有裝.NET Framework...
最後為了省方便,所以直接架在自己電腦上了
反正連進來的人這麼少

不過自己的電腦很爛啊,有時候開啟Windows Media Player
就出現藍底白字的Driver Error,得重新啟動...
如果網站突然連不上去的話,請稍待重連即可

 

資料庫錯誤

其實資料庫的影片是我用人肉搜尋再輸入進去的
有極少數影片因網址複製錯誤的關係,會顯示找不到網頁
在此感謝網友索尼斯幫忙提出錯誤

 

※舊檔案蓋過新檔案

在網站公布後,有網友反應「風格太難填」、「說明沒作用」等等
其實說明是要將滑鼠停在上面才會顯示的
風格說明也有提到若聽不出來可以直接填答「不知道」
因為太不直觀的關係,我就改成直接顯示說明字串

原本以為沒有更改過的檔案,選發行後不會蓋過去(而且該檔案選項也是選「不要複製」)
沒想到竟然蓋過去了,導致我蒐集了一天的資料全毀〒△〒
因為是複製的關係,完全救不回來...
如果我當時發行的檔案是在不同主機上,就不會有直接覆蓋的問題了
(冷知識:Win 7旗艦版有「陰影複製」的功能,覆蓋檔案會自動留底)

現在我學乖了,幾小時就要備份一次資料庫
不然再全毀一次我就要撞豆腐自殺了

 

※按下送出卻沒有反應

這是因為我修改Access檔案後,忘了把權限改掉
如果遇到這種問題,麻煩通知我一聲,感謝

 

※無法指出的錯誤

今天下午跟晚上各發生一次,網站跑出了
System.Data.OleDb.OleDbException: 無法指出的錯誤
第一次遇到時我是重新啟動IIS解決的(控制台-系統管理工具-服務-IIS Admin選重新啟動)
遇到第二次時我決定上網找答案

這問題有兩種可能原因
1. 權限錯誤,只要在Web.config將<identity impersonate="true"/> 改成false即可
2. 連線後忘記關閉連線

結果我是2.......=___=

因為是後來才補的程式碼,就忘了連線後要關掉連線了
可能因此有太多人連線不關,導致OleDB發生錯誤吧
目前程式加上connection.close()了,希望別再出現這個問題

 

※結語

最後,感謝這兩天幫我填歌曲問卷的所有網友跟朋友
謝謝你們的支持!

 

我下次還是改用PHP吧............

蕭雲 發表在 痞客邦 PIXNET 留言(4) 人氣()


留言列表 (4)

發表留言
  • kalz liao
  • Windows底下的話我會習慣用notepad++,可以試試看:P
  • 謝謝你的建議,那堂課過後我就開始使用 notepad++了
    不過notepad++雖然是台灣人做的
    但是對中文支援度卻不好(ansi碼有些中文字有問題),挺怪的

    蕭雲 於 2011/04/05 02:29 回覆

  • 小咪
  • 那些專業術語
    小咪聽不懂
    不過可以體會
    過程是相當辛苦的
    幫不上忙只能為你加加油!!~
  • 謝謝囉,能多幫我填幾次就算幫上大忙了

    蕭雲 於 2011/04/05 02:40 回覆

  • JC1015
  • 既然開始了
    不要放棄啊~
  • 請問你是指放棄哪部分?ASP.NET嗎?

    蕭雲 於 2011/04/05 02:41 回覆

  • 訪客
  • notepad++好像不是台灣人寫的,只是中文化而已。(錯誤請指正)
  • 應該是台灣人寫得沒錯,除非維基百科亂蓋且至今沒有人修改
    ----
    Notepad++
    http://zh.wikipedia.org/wiki/Notepad%2B%2B
    Notepad++是一套自由軟體的純文字編輯器,最早由侯今吾獨力研發,目前已有七名程式設計師共同開發
    ----
    侯今吾
    http://zh.wikipedia.org/wiki/%E4%BE%AF%E4%BB%8A%E5%90%BE
    是純文字編輯器 Notepad++(一個GNU通用公共許可證的自由軟體)的開發者。並且是自由軟體的推動者之一。

    蕭雲 於 2011/05/01 03:54 回覆