推薦:解析ASP.NET 2.0創建母版頁引來的麻煩一、問題提出 由于總體排版和設計的需要,我們往往創建母版頁來實現整個網站的統一性,最近我由于統一性的需要,把原來整個項目單獨的頁面全部套用了母版頁。但是出現了一個錯誤在這里記錄一下,方便大家參考。 二、抽象模型 由于整個頁面內容過多,所以我把
整合分布式應用程序經常是一件非常困難并且錯綜復雜的任務,即使是最富有經驗的開發者也可能會覺得頭疼。當應用程序在不同的操作系統以及涉及不同的程序平臺時,這個集成問題變得尤其復雜。雖然說,Web服務承諾可以減輕程序員完成集成任務的困難程度,但是也可能給程序員們帶來一些意想不到的麻煩。在這里我們將把一個ASP.net應用程序和一個PHP Web服務連結起來,以學習一些整合分布式應用程序的方法,以及必要的應對措施,包括運行什么以及不用去做什么。
這個Web服務在一個Apache服務器上運行,并且使用PHP開發。它從各種微軟新聞組檢索新聞摘要以及它們的關聯的文本。即使由這個服務提供的數據可以直接使用內部的。Net對象存取,但是這個服務還是將使用并提供一個連接到非。Net平臺上的不錯的演示。我們這里要討論的實例基于。Net beta 2版。
創建一個Web服務代理
Visual Studio.NET提供了一個出色的機制用于自動地生成可用于存取遠程Web服務的代理對像。因此,要首先嘗試使用這些函數來導入由PHP服務提供的Web服務描述語言(Web Services Description Language,WSDL)文件。 還可以使用.Net SDK的WSDL.exe命令行公用程序。不幸的是,在使用VS.net向導導入WSDL之后,并不能成功地創建一個代理。所以我必須把導入原始的WSDL文件后由VS.Net生成的文件轉換為WSDL:
◆把模式域名空間從http://www.w3.org/1999/XMLSchema改成http://www.w3.org/2001/XMLSchema 然后清除所有的當WSDL導入過程中由VS.Net添加的”q”域名空間。
◆刪除 xmlns:tm=http://microsoft.com/wsdl/mime/textMatching/和xmlns: mime="http://schemas.xmlsoap.org/wsdl/mime/" 名字空間,因為這個應用程序中不需要包含這些。
◆刪除類型元素,因為原始的 WSDL文檔 并沒有包含Web服務的模式信息的指定的元素區段。
◆改變輸入輸出元素消息屬性值為包含tns域名空間前綴的形式:
| 以下為引用的內容: <portType name="nntpSoapPortType"> <input message="tns:getheaders" /> <output message="tns:getheadersresponse" /> </operation> <operation name="getarticle" parameterOrder="newsgroup article"> <input message="tns:getarticle" /> <output message="tns:getarticleresponse" /> </operation> </portType> |
在進行了下面的這些微小的改變,VS.Net向導能夠讀取WSDL并且自動地生成一個代理。在編譯了這個代理之后,它被包含在一個ASP.NET頁面中。然而,當這個ASP.Net頁面被執行:“ message does not have a correct SOAP root XML tag.”,這個錯誤被當作一個SOAP錯誤從Web服務中返回。
分享:解讀ASP.NET 2.0跨網頁提交的三種方法當在一個ASP.NET Web頁面中進行操作時,在默認情況下向當前頁進行提交。這種行為在ASP.NET出現之前并沒有什么關系,但在ASP.NET中,當我們想向另外一個Web頁提交一個Web Form時該如何做呢?在ASP.NET1.0中這個問題變得很難解決,但在ASP.NET 2.0中為開發人員
新聞熱點
疑難解答
圖片精選