freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第七篇aspnet完全入門(mén)高級(jí)應(yīng)用-在線瀏覽

2024-11-08 15:50本頁(yè)面
  

【正文】 a separate server process) ,它常要求有安裝和支持它的管理員( administrator)。而如果你用 XML 文件存儲(chǔ)數(shù)據(jù),將可減少額外的服務(wù)器的負(fù)荷。你只要使用文本編輯器 ,而不必使用復(fù)雜的數(shù)據(jù)庫(kù)工具。同樣的,你可以方便地通過(guò) ftp上載新的數(shù)據(jù)到你的站點(diǎn)。 它可以用一種很直接的方式來(lái)設(shè)計(jì)數(shù)據(jù)結(jié)構(gòu)來(lái)符合你的需要。 如果你有一個(gè)元素( element)包含了另一個(gè)元素,你可以直接在格式中表示它,而不需要使用表的關(guān)聯(lián)。如果更新很多,文件系統(tǒng)會(huì)因?yàn)橥瑫r(shí)寫(xiě)入而受到破壞。對(duì)于復(fù)雜的查詢(xún)統(tǒng)計(jì)要有反復(fù)、及時(shí)的更新,此時(shí)數(shù)據(jù)庫(kù)表現(xiàn)都很優(yōu)秀。 在下面這樣的案例中,正如大多數(shù)中小規(guī)模的、基于發(fā)布信息的站點(diǎn)一樣,你可能涉及的大多數(shù)數(shù)據(jù)存取都是讀,而不是寫(xiě),數(shù)據(jù)雖然可能很大,但相對(duì)來(lái)說(shuō)并沒(méi)有經(jīng)常的更新變化,你也不需要做很復(fù)雜的查詢(xún),即使你需要做,也將用一個(gè)獨(dú)立的查詢(xún) 工具,那么成熟的rdbms 的優(yōu)點(diǎn)消失了,而面向?qū)ο笮偷臄?shù)據(jù)模型的優(yōu)點(diǎn)則可以得到體現(xiàn)。 所以你可以選擇這二種方式之一。 (oracle 的 xsql servlet 即是這種技術(shù)的一個(gè)很好的例子。我們來(lái)看一下這個(gè)新的定義文檔類(lèi)型的方法。 第七篇 高級(jí)應(yīng)用 DTD 的語(yǔ)法不同于 XML的語(yǔ)法,因而需要文檔編寫(xiě)者另外的學(xué)習(xí)一套符號(hào)語(yǔ)言。 在 DTD中沒(méi)有辦法來(lái)定義能夠從程序語(yǔ)言變量直接映射到 XML數(shù)據(jù)的數(shù)據(jù)類(lèi)型和數(shù)據(jù)格式。 DTDs 是 XML從其前輩SGML 那兒繼承過(guò)來(lái)的(事實(shí)上, XML 本身就是一種 SGML 的簡(jiǎn)化版本),這個(gè)相對(duì)比較成熟的技術(shù)能夠很快的讓 XML 運(yùn)行起來(lái),并且能夠讓熟悉 SGML 的人對(duì) XML 有更多的感覺(jué)。 定義元素需要指定元素的名稱(chēng)、元素的內(nèi)容模式、元素的屬性、以及內(nèi)嵌的子元素。一個(gè)服從于某個(gè)特定的 schema的 XML 文檔只能按照 schema 中定義的元素模式來(lái)編寫(xiě),這同 DTD的規(guī)則是一樣的。在 Schemas 規(guī)范中定義了很多的簡(jiǎn)單類(lèi)型,例如: string, integer 和 decimal。 我們來(lái)看看一個(gè)簡(jiǎn)單的定義元素的例子: element name=quantity type=positiveinteger/ element name=amount type=decimal/ 我們知道在面向?qū)ο蟮挠^點(diǎn)中,有聚集和繼承的概念,可以在已有的類(lèi)中衍生出新類(lèi)。聚集能夠把一組已存在的元素組合成一個(gè)新的元素。 比如,如果我們要從 decimal類(lèi)型中派生一個(gè)新的 value 元素,并讓它有這樣的內(nèi)容模式: value unit=Celsius42/value,我們可以這樣的定義: element name=value plexType base=amp。decimalamp。 derivedBy=amp。extensionamp。 attribute name=amp。unitamp。 type=amp。stringamp。/ /plexType /element 下面我們把 time 和 value 元素聚集到一個(gè) measurement 元素中,形成這樣的內(nèi)容模式: measurement time20201008 12:00:00 GMTtime/ value unit=Celsius42/value 那么最終我們的 schema 元素定義結(jié)果就應(yīng)該是這樣的: element name=amp。measurementamp。 type=amp。measurementamp。/ plexType name=amp。measurementamp。 element name=amp。timeamp。 type=amp。timeamp。/ element name=amp。valueamp。 type=amp。valueamp。/ /plexType 和上面的 schema 等同 DTD 是: !ELEMENT measurement (time, value) 第七篇 高級(jí)應(yīng)用 !ELEMENT time (PCDATA) !ELEMENT value (PCDATA) !ATTLIST value (unit) 顯然,它所能表達(dá)的意思就少了很多。這使得從元素到 Java或者 C++語(yǔ)言的類(lèi)的一一映射變得更為直觀可行。所謂基數(shù)是指一個(gè)元素在文檔中出現(xiàn)的次數(shù)。你只能夠指定一次 (1),零次或者更多 (*),一次或者更多 (+) 這三種基數(shù),并用這些基數(shù)序列來(lái)構(gòu)成 DTD。除了這兩個(gè)屬性,你還可以用 choice 和 all這兩個(gè)元素。而元素 all則最為寬松,能夠讓其所有的子元素在文檔中以任意的順序出現(xiàn)任意的次數(shù)。 xsd:choice element ref=EitherThis/ element ref=OrThat/ /xsd:choice xsd:all element ref=Ying/ element ref=Yang/ /xsd:all/ 三、名域 XML Schema 中還支持名域。例如: xsd:schema targetNamespace=amp。 xmlns:xsd=amp。 xmlns:units= amp。 第七篇 高級(jí)應(yīng)用 xsd:element name=amp。unitsamp。 type=amp。units:Unitsamp。/ xsd:element name=amp。measurementamp。 type=amp。measurementamp。/ plexType name=amp。measurementamp。 element name=amp。timeamp。 type=amp。timeamp。/ element name=amp。valueamp。 type=amp。valueamp。/ /plexType 這種機(jī)制為建立復(fù)雜的名域體系提供了一種模塊化而又易于擴(kuò)展的方法。 XML Schema 提供了一個(gè)豐富而更具彈性的機(jī)制來(lái)定義 XML文檔詞匯表。而許多對(duì)于 DTD功能上的改進(jìn)和增強(qiáng),也使得它最終必定會(huì)終結(jié) DTD,作為 XML的一個(gè)標(biāo)準(zhǔn)出現(xiàn)。 好了,有上面的介紹,我們來(lái)看如何從 xml 文件中讀取數(shù)據(jù)。同時(shí)在 XML 文件中,必須存在 schema 和我們所需要的數(shù)據(jù)( Data)。在主文件中,我們要分別使用 the ReadXmlData 和 ReadXmlSchema 方法。在下面的章節(jié)中,我們將對(duì) XML 進(jìn)行更深入的講解。 Java 中的三層架構(gòu)為前端的 html、 Jsp、 Servlet,中間層為 JavaBean、 EJB,后面為數(shù)據(jù)庫(kù)服務(wù)器。 在我們的三層架構(gòu) 中,我們的數(shù)據(jù)庫(kù)層通過(guò)中間層來(lái)連接以及操作,前端給中間層傳遞參數(shù),并接受中間層的參數(shù)。 我們一般統(tǒng)稱(chēng)中間層為組件,組件可以用 .vb 編譯而成,也可以用 .cs 文件編譯而成。微軟的 .NET 技術(shù)在這個(gè)方面比他的以前的任何版本都要來(lái)的簡(jiǎn)單,這也是它的一打好處之一。 在沒(méi)有 Visual ,我們用寫(xiě)成的 .bat 文件來(lái)把 .vb和 .cs 文件編譯成 .dll文件,在 .bat 文件里,我們寫(xiě)入編譯的文件名稱(chēng)、相關(guān)聯(lián)的名字空間、要編譯成的文件名以及對(duì)應(yīng)的命令名稱(chēng),然后運(yùn)行就行了。但是做起來(lái)很簡(jiǎn)單的。 當(dāng)然,如果我們有微軟公司的 編程環(huán)境,則我們不用這么麻煩,我們可以象編譯vb 或者 vc 程序一樣方便的編譯 .dll 文件。具體的應(yīng)用我們會(huì)在專(zhuān)門(mén)的章節(jié)上介紹的。有時(shí)為了安全性,我們通常把與數(shù)據(jù)庫(kù)的連接用一個(gè)動(dòng)態(tài)連接庫(kù)文件封裝起來(lái),這樣我們就要把寫(xiě)數(shù)據(jù)庫(kù)連接的 .vb 或者 .cs 文件編譯成動(dòng)態(tài)連接庫(kù) .dll 文件。 下面是我們的與數(shù)據(jù)庫(kù)連接以及操作的文件 的主要部分,對(duì)數(shù)據(jù)庫(kù)的連接: Dim dbl As SQLConnection 對(duì)數(shù)據(jù)庫(kù)的操作,我們把它寫(xiě)在一個(gè)方法里面,在返回相應(yīng)值: Function getdata() as DataView Dim sComm as SQLDataSetCommand Dim sDS as DataSet Dim sStr as String dbl = New SQLConnection(server=localhost。password=。完整的代碼如下: Imports System Imports Imports 39。創(chuàng)建一個(gè)類(lèi) Public Class dblink 39。方法 Public Function getdata() As DataView Dim sComm As SQLDataSetCommand Dim sDS As DataSet dbl = New SQLConnection(server=localhost。password=。填充數(shù)據(jù) 第七篇 高級(jí)應(yīng)用 sDS = New DataSet() (sDS, color) 39。建立一個(gè)新的對(duì)象 Dim newdb As dblink newdb = new dblink() 39。數(shù)據(jù)綁定 () End Sub 下面看看我們完整的代碼 (advanceapp\): % Import Namespace=db % html script language=VB runat=server Sub Page_Load(Sender As Object, E As EventArgs) 39。數(shù)據(jù)來(lái)源 = () 39。 fontsize:8pt。 height:50 p % (, id) % br % (, name, {0:C}).ToString() % /td /tr /table /template /ASP:DataList /CENTER /body /html 我們看到,在這個(gè)頁(yè)面當(dāng)中,沒(méi)有出現(xiàn)與數(shù)據(jù)庫(kù)交互的語(yǔ)句,這樣我們就很好的把數(shù)據(jù)操作封裝起來(lái)了,我們的運(yùn)行效果如下: 小結(jié) 在本章中,我們講解一個(gè)基于三層架構(gòu)的例子,這只是一個(gè)非常簡(jiǎn)單的例子,我們知道 .NET 在這方面的功能是非常強(qiáng)大的,你可以用它來(lái)寫(xiě)非常復(fù)雜的組件。它的實(shí)現(xiàn)原理是:消息的發(fā)送者把自己想要發(fā)送的信息放入一個(gè)容器中(我們稱(chēng)之為 Message) ,然后把它保存至一個(gè)系統(tǒng)公用空間的消息隊(duì)列 (Message Queue)中;本地或者是異地的消息接收程序再?gòu)脑撽?duì)列中取出發(fā)給它的消息進(jìn)行處理。一個(gè)是消息,一個(gè)是隊(duì)列。消息最終的理解方式,為消息傳遞的雙方事先商定,這樣做的好處是,一是相當(dāng)于對(duì)數(shù)據(jù)進(jìn)行了簡(jiǎn)單的加密,二則采用自己定義的 格式可以節(jié)省通信的傳遞量。消息也可以含有時(shí)間戳,以便于接收方對(duì)某些與時(shí)間相關(guān)的應(yīng)用進(jìn)行處理。 消息隊(duì)列是發(fā)送和接收消息的公用存儲(chǔ)空間,它可以存在于內(nèi)存中或者是物理文件中。消息隊(duì)列可以放置在發(fā)送方、接收方所在的機(jī)器上,也可以單獨(dú)放置在另外一臺(tái)機(jī)器上。當(dāng)保存消息隊(duì)列的機(jī)器發(fā)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1