發表文章

目前顯示的是 2010的文章

Silverlight果然還是無法存取.NET Remoting

圖片
會有這個問題是因為先前有需要,也希望在Silvelight中看看能否存取.NET Remoting的遠端物件,不過當然,在當下每個人都知道Silverlight目前只支援3種資料存取方式: RIA Service WCF Data Service (之前稱為ADO.NET Data Service) WCF Service 不過筆者還是想要Try一下,當有一些不確定因素時筆者就是喜歡踹(是Try拉),行不行Try一下就知道,Try的過程當中也會有一些發現或是了解其原理,二話不說開始吧! 首先筆者記得.NET 3.0之後,因為新增了WCF,所以在Visual Studio 的IDE之中除了原先的加入 [加入參考] [加入Web參考] 之外,還多了 [加入服務參考],這是為了WCF服務而出現的,所以之後,像您現在如果使用如目前最新的visual Studio 2010的WinForm程式在加入服務參考的視窗下面還會有一個 [進階]按鈕,如下圖: 點選後,如下畫面: 畫面中還有一個加入Web參考的按鈕,在說明的地方也特別標註說這是相容於.NET Framework 2.0的。點選之後就是以前熟悉的Web 參考畫面如下: 而在Silverlight的專案中的[加入服務參考]的畫面中也沒有[加入Web參考]的按鈕,如下: 如果硬是在[加入服務參考]的地方輸入.NET Remoting公開的URL (Web Service/SOAP公開的方式),突然很高興的發現!!可以找的到一個服務ㄝ,還能夠分析的出有一個HelloWorldService,如下圖: 不過按下[確定]後馬上得到一個錯誤訊息,但該錯誤也不是回應出真正的錯誤內容,不過無法作業也是可以想見的!之後說明。 而且所產生出來的Reference.c參考檔案也是空空如也,什麼都沒有!如下畫面: 為什麼後來筆者有想到原因了呢?因為當您手動敲入Remoting的Proxy也就是遠端物件時,因為該物件必須繼承 System.Web.Services.Protocols.SoapHttpClientProtocol, 這本來在參考的畫面就應該要看出來了, 但是因為當初Silverlight為了使下載下來的Plug-In安裝檔盡量愈小愈好,所以是沒有包入System.Web.S...

實做篇-將現有網站改成MVC架構

圖片
先前參加了佛心Jed哥的贈書活動,小弟也獲得了保哥的新書 [ASP.NET MVC2 開發實戰]一書,書中小弟獲益良多,最近也試著將現有的專案改以MVC的架構,在實做這個改變的過程,小弟便將其記錄下來並分享給各位。 一般來說,ASP.NET的網頁應用程式不外乎會有商業邏輯層(Business Tier)、資料層 (Data Tier)、網頁 (ASPX),而在網站的架構中我們可能習慣使用不同的NameSpace (資料夾)來區分商業邏輯層與資料層,基於商業機密公司應用程式不方便貼上來,小弟以Northwind資料庫實做一個範例來展現這個典型的網站架構。 這是一個客戶資料查詢的網頁程式,它是個簡單List [清單]類型的查詢的網頁程式,它有兩個查詢條件,1.客戶公司名稱、2.所在城市。查詢設計畫面如下: 查詢會呼叫CustomerBiz的商業邏輯,此為與Customer相關之商業邏輯層,SQL Statement會撰寫於此,通常查詢會是如下程式: 1: protected void lbtSearch_Click( object sender, EventArgs e) 2: { 3: GetDatas(); 4: } 5:   6: private void GetDatas() 7: { 8: CustomerBiz CBiz = new CustomerBiz(); 9: DataView dv = new DataView(CBiz.GetCustomersByID_City(Request.Form[ "txtSearch" ], Request.Form[ "ddlCity" ])); 10: gvwList.DataSource = dv; 11: gvwList.DataBind(); 12: } CustomerBiz.cs的完整程式碼如下所示,這裡Demo的範例很簡單,對應的舊兩個邏輯方法: 1: us...

Web Matrix (Part 2) ASP.NET Razor資料庫應用程式開發

圖片
上一次筆者介紹了Web Matrix的開發方式,也大致介紹了什麼是ASP.NET Razor ,其實 Razor 並不算是一種新的語言,它在@符號後面所接的其實都還是C#語法。而且ASP.NET Razor對於ASP.NET MVC有著很密切的關係,它之所以出現是為了改進ASP.NET MVC的View的程式撰寫風格,也許不要說是改進,也可以當作多了一種View的撰寫方式。在Web Matrix所提供的ASP.NET Razor 可以說是個預覽版,未來的ASP.NET MVC 3會含括此功能在裡面。 而關於 ASP.NET Razor 的設計目標有下面幾個: 希望程式碼撰寫是一連貫,一氣呵成的。 學習門檻低,容易上手 不是一套新的程式語言,希望使用既有的ASP.NET/C#基礎即可快速的上手。 使用任一種純文字檔編輯器都可進行開發。 也支援使用Visual Studio 2010來開發,使用Visual Studio 2010強大的Intellisense的支援。 同樣可進行View的Unit Test。 OK!再回到筆者今天的主題,先使用這個預覽的版本來體驗一下資料庫應用程式的開發方式,就順著下面的步驟來時做看看。 1.首先是先安裝OData Helper 1.0元件,這是存取資料庫必要的元件,請開啟Admin畫面將OData Helper 1.0安裝進來。 圖(一)、安裝OData Helper 1.0元件 2.點選左下方的Database,Web Matrix此時會切換到資料庫功能的頁籤。若預設一開始您也是選擇Empty Site,在沒有改名子的情況下,會有一個Empty Site.sdf的SQL Compact資料庫。請在Tables的節點選滑鼠右鍵"New Table"或點選上方的工具列的 New Table建立一個Employes的Table,並同時建立[id]、Name、Title 等三個欄位,如圖二。 圖(二)、建立SQL Compact 資料庫 3.接著任一建立幾筆資料,如圖三。 圖(三)、任一建立三筆資料 4.回到Files頁籤,並新增一個EmployeesList.cshtml 程式檔案,並撰寫如下程式。要注意的地方是,如果要撰寫多行的Razor,可以使用 @{.. } 包起來,...

Microsoft ASP.NET Web Matrix 有趣的簡單Web開工具

圖片
相信許多讀者都使用過ASP.NET Web Matrix這個精簡版的ASP.NET編輯器,在當時.NET 1.0/1.1的時代很風行,因為安裝檔案非常的小,只有1.2M多一點而已,卻能夠以視覺化的方式來撰寫ASP.NET的Web Form Page,現在ASP.NET Web Matrix又有新版本了,現在稱做Microsoft Web Matrix (目前為Beta2),同時他引進了新的Web Framework,能夠更容易的來開發簡單型的網站,不過它的目標會是一個簡單雲端應用程式為基礎的開發,支援Web Deploy佈署至其他協力廠商的如ADHost的Cloud Servers,而它程式檔案使用.cshtml的副檔名。安裝此工具可以從Web Platform Installer 3.0進行安裝,如下: 圖(一)、安裝畫面 安裝時會連同Microsoft SQL Server Compact 4.0 tools CTP 2、IIS Express等工具一同安裝進來,它可以與Visual Studio 2010安裝在同一台機器。安裝完成後會發現新版本與舊版本畫面的風格可說是大異其趣,如圖(二)   圖(二)、起始畫面 值得一提的是新版本在"Site From Web Gallery" 整合許多知名的線上範本,應該說比較像是Starter Kit。在這裡也大概的分門別類了一下,如圖(三) 圖(三)、Site From Web Gallery   接下來我們來進行簡單的測試與開發,眼尖的讀者應該會發現,當開啟了Web Matrix開發工具時,已經自動啟動了一個IIS應用程式伺服器,如下圖(四)   圖(三)、一個Port:2796 的IIS應用程式開發伺服器已經啟動   個位如果有上Web Matrix的網站會發現一些有趣的範例,只要簡單的幾行程式就可以得到特殊的支援與效果。而在Web Matrix網站上所提供的範例是必須安裝Microsoft的Dynamic動態資料存取元件才可以順利執行並看到結果,若您直接撰寫網站上的範例並執行會得到如下的錯誤訊息:   開發前先來了解一下什麼是cshtml檔案,所謂的cs...