發表文章

目前顯示的是 3月, 2011的文章

網站從IIS6.0移轉至7.0後除錯經驗-2

圖片
今天同事又遇到我自己也覺得奇怪的問題,執行程式出現不認得 System.web.extension的區段 網站也確認是使用Framework4.0,照理說4.0會繼承C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config 的設定,所以在自己網站ConfigSection是不用設定的,找了相關方法都無法 解決,最後索性將machine.config屬於System.web.extension的區段 Copy過來。 果然執行後就正常了,所以此篇....待更正確解答=.=

網站從IIS6.0移轉至7.0後除錯經驗-1

圖片
前言 將原本在Win2003的網站移至WIN2K8 IIS7.0後,出現的一些錯誤,排除方法整理如下: 錯誤1.httpModule及httpHandler要移至system.webserver底下 解決方法: 透過命令自動將組態作移轉動作,步驟如下 1.到命令提示字元 2.cd C:\Windows\System32\inetsrv 3.appcmd migrate config "Default Web Site/MyWeb" Ps:站台/應用程式名稱 錯誤2.ASP.NET尚未安裝或安裝不完整 由於網站的Frameowrk是使用4.0,所以我先到IIS的功能畫面進入IASPI及CGI限制看4.0是否有啓用 結果發現4.0雖已安裝但未進行啓用,如下圖 解決方法: 透過命令啓用4.0 1.到命令提示字元 2.cd C:\Windows\Microsoft.NET\Framework\v4.0.30319 3.aspnet_regiis /ir,執行後如下圖 錯誤3.Module的Key重複 解決方法:在iis最上層的設定有UrlRoutinModule-4.0及ScriptModule-4.0 所以若網站是設在[預設的網站]的子應用程式,則需將此2個Module拿掉或更名

[WCF-REST]Cilent端叫用不使用服務參考

圖片
前言 WCF中的REST服務,最令我覺得特別的是Client開發端可以不用[服務參考],就可以直接透過Uri去作存取, 但麻煩的是Client端直接使用Uri叫用時就要知道要傳什麼樣的Url Format以及回傳什麼樣的格式(例:xml、json...) ,萬一服務端的設定改了,在Client是無法在設計時期知道的,如下範例 WCF端 Client:使用WebRequest取回Stream的資料並作反序列化回User物件 上述若WCF端改了參數,則Client端無法知道,當然你也可以使用[服務參考]產生WCF參考來解決,如下圖 而若你不想用[服務參考]的話,另外一種作法就是讓Clinet端也去實作與WCF服務相同的介面。 範例說明 1.專案架構 2.共用端程式,新增一個共用介面IMyWCF 3.WCF服務端程式,實作IMyWCF回傳使用者物件 WCF組態設定 4.Client端程式 透過實作ClientBase及共用層的IMyWCF來叫用WCF Client端組態設定 執行程式 寫的不清楚的地方、敬請見諒。 範例下載 http://cid-fab913153ae2ed86.office.live.com/self.aspx/.Public/Code/WCF/WcfRestSampleDemo.rar 參考文章 http://www.switchonthecode.com/tutorials/creating-a-rest-client-using-wcf http://www.dotblogs.com.tw/regionbbs/archive/2010/03/29/vs2010.wcf.4.rest.service.expose.aspx