今天好不容易休息了一天,上網狂了一圈,突然想起了以前的一個輕量級的開發工具“SharpDeveloper”,於是就下載試着來開發一下ASP.NET,但是老魏沒有想到的是,雖然官方提供了對ASP.NET MVC的支持,但是實際開發中卻是問題多多啊。
當老魏使用SharpDeveloper建立了一個ASP.NET MVC的項目,正准備運行的時候,卻發現了問題不是一般的大,雖然SharpDeveloper支持Express IIS,但是老魏並沒有使用,而是用使用了IIS7,雖然如此但是在看了項目結構后,就發現有問題了。
看了上面的結構圖,發現少了最主要的Controllers,Views,Models這幾個文件夾,好吧,我們自己來建立。當我們創建了這幾個文件夾后,的確可以創建Controller和View了,但是這里我們卻需要注意的是,在創建Controller的時候需要注意的是一定要帶上”Controller”后綴,否則在編譯的時候不會把這個類當成Controller的。
我們創建了一個Controller,然后我們需要創建一個對象的View,可惜的是SharpDeveloper並沒有提供在Action右鍵創建View的功能,只能是手動了。
好了,View也已經創建了,然后我們來改寫一下Index.cshtml的內容,寫一個HelloWorld。
這是第一個問題出現了,按照ASP.NET MVC的發布而言,IIS的設置是沒有問題的,但是現在運行的時候卻出現了這個問題。原因是什么呢?我們注意觀察Views文件夾,發現比VS創建的ASP.NET MVC項目結構中少了一個非常重要的文件”Web.config”。那么好吧,我們把這個文件復制過來。但是運行的時候又發現了一個問題。還是403.14錯誤。這又是怎么回事呢?我們發現在Gloabl.asax中並沒有初始化路由等配置,好,我們加上去。
publicclass MvcApplication : HttpApplication { publicstaticvoidRegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(newHandleErrorAttribute()); } publicstaticvoidRegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // 路由名稱 "{controller}/{action}/{id}", // 帶有參數的 URL new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 參數默認值 ); } protectedvoidApplication_Start() { AreaRegistration.RegisterAllAreas(); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); } }
好編譯一下,然后運行一下,發現的確可以運行了。到此SharpDeveloper的ASP.NET MVC配置就已經好了。
雖然我們配置好了ASP.NET MVC3的開發環境,但是我們這一路走來,卻發現SharpDeveloper的確沒有VS的那樣強大,感覺SharpDeveloper就是一個玩具,只適合寫一下簡單的小程序,對於入門級的開發人員來還是不錯的。整體上卻不如VS強大。
在使用SharpDeveloper的時候,還遇到一些問題,比如代碼不提示,使用數據庫的時候需要導入手動導入System.Data.dll文件,對於ASP.NET MVC的Attribute的支持不夠好,等等吧,一系列的問題,總之老魏在使用SharpDeveloper開發一個權限系統的時候絕對的是汗流浹背啊,解決了一個一個問題,最終還是遺憾的老魏沒有堅持下來,最后還是改用VS來開發了,不過老魏認為SharpDeveloper未來的發展還是很不錯的,希望SharpDeveloper能夠像Eclipse一樣,做出一個開源的,免費的,功能強大的IDE,如果到了那個時候,老魏第一個丟到龐大體積的VS的。不知道能不能等到這一天呢?
對於那些想使用SharpDeveloper的網友來說,嘗嘗鮮還可以,如果真的要做東西的時候,還是希望能夠使用VS來開發,SharpDeveloper對於VSS而言是不支持的,所以這個還是個問題,對於SVN的支持比較蛋疼了,只能使用對應的版本,哎!問題多多啊!
好了,今天就到這里吧,明天接着加班,順便說一下,老魏還是在4月份正式的更新Blog!




