• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用

    2018-03-26 02:56:14
    成功 2018年10期
    關(guān)鍵詞:身份驗(yàn)證服務(wù)器端頁(yè)面

    李 秋

    江西現(xiàn)代職業(yè)技術(shù)學(xué)院 江西南昌 330095

    當(dāng)客戶端第一次請(qǐng)求服務(wù)器端(例如用戶在瀏覽器中輸入某個(gè)ASP.NET AJAXASP.NET AJAX應(yīng)用程序的URL)時(shí),服務(wù)器端的ASP.NET頁(yè)面將初始的頁(yè)面UI以及行為發(fā)送給客戶端。

    之后,客戶端和服務(wù)器端之間的通信將傳遞純粹的數(shù)據(jù)-——數(shù)據(jù)的生成和保存由服務(wù)器端業(yè)務(wù)層和數(shù)據(jù)層完成,數(shù)據(jù)的顯示方式以與用戶與數(shù)據(jù)之間的交互(包括修改、添加和刪除)則由客戶端表示層完成。至于客戶端與服務(wù)器端傳遞數(shù)據(jù)的實(shí)現(xiàn)過(guò)程,則正是我們本章探討的主題——-異步通信層來(lái)完成的。

    簡(jiǎn)要了解ASP.NET AJAX中的異步通信層結(jié)構(gòu),以及客戶端和服務(wù)器端的通信過(guò)程之后,我們接下來(lái)更深入一步,分別探究ASP.NET AJAX中異步通信層的客戶端和服務(wù)器端的具體架構(gòu)。

    一、客戶端架構(gòu)

    ASP.NET AJAX異步通信層的客戶端部分包含了若干個(gè)javaScript組件,ASP.NET AJAX異步通信層的客戶端部分中,眾多的javaScript組件可以分為兩大類(lèi):核心通信組件以及支持組件。下面我們分別介紹。

    (1)核心通信組件

    核心通信組件是指實(shí)現(xiàn)與服務(wù)器端Web Service交互所必需的客戶端腳本組件。Web Service代理、頁(yè)面方式代理、webRequest組件、webRequestManager組件以及XMLHttp-Executor組件均屬于核心通信組件。

    (2)Web Service代理

    在ASP.NET AJAX中,Web Service的客戶端代理可以由服務(wù)器端的異步通信層自動(dòng)生成。然后開(kāi)發(fā)者即可在javaScript中通過(guò)這些Web Service代理非常直觀地對(duì)服務(wù)器端的WebService方式進(jìn)行異步調(diào)用。調(diào)用這類(lèi)代理的語(yǔ)法和服務(wù)器端代碼(例如C#或vb.net)的調(diào)用語(yǔ)法非常類(lèi)似——這也正是“代理”的含義。關(guān)于客戶端的WebService代理與普通的HTTP請(qǐng)求一樣,調(diào)用服務(wù)器端的Web Service方法也可以使用GET和POST兩種方式。

    以GET方式進(jìn)行調(diào)用,那么需要為Web Method添加{scriptMethod(UsehttpGet=true)}屬性。

    (3)頁(yè)面方式代理

    與客戶端的Web Service代理類(lèi)似,ASP.NET AJAX異步通信層的服務(wù)器端部分同樣能夠?yàn)槎x在ASP.NET頁(yè)面中的靜態(tài)服務(wù)器端方法自動(dòng)生成客戶端的代理,因此也能夠大大簡(jiǎn)化在客戶端javaScript中的調(diào)用過(guò)程。

    (4)WebRequest組件

    *WebRequest組件是異步通信層中客戶端部分的“經(jīng)紀(jì)人”,用來(lái)收集發(fā)起異步HTTP請(qǐng)求所用到的參數(shù),例如請(qǐng)求地址、請(qǐng)求的主體部分、超時(shí)設(shè)定以及用戶上下文信息等。一般來(lái)講,WebRequest組件是我們使用ASP.NET AJAX異步通信層創(chuàng)建并發(fā)起一次 HTTP請(qǐng)求唯一需要打交道的客戶端組件。當(dāng)然,若是該HTTP請(qǐng)求的目標(biāo)是某個(gè)Web Service或某個(gè)ASP.NET頁(yè)面中的靜態(tài)方式,那么則毫無(wú)疑問(wèn)應(yīng)該選用主動(dòng)生成的Web Service或頁(yè)面方法的客戶端代理,這樣講會(huì)更加簡(jiǎn)單。

    *XMLHttpExecutor組件

    XMLHttpExecutor組件是異步通信層客戶端部分中最為“勞苦功高”的“實(shí)干者”,它將使用原始的XMLHttpRequest對(duì)象完成客戶端與服務(wù)器端的通信工作。此外,XMLHttpExecutor類(lèi)繼承于 WebRequest Executor基類(lèi),WebRequest Executor基類(lèi)為上層調(diào)用者提供了客戶端與服務(wù)器端通信工作的抽象,而XMLHttpExecutor只是WebRequestExecutor的一種實(shí)現(xiàn)。

    *WebRequestManaget組件

    WebRequestManaget組件是異步通信層客戶端部分中的“大管家”,用來(lái)維護(hù)并協(xié)調(diào)WebRequest組件與XMLHttpExecutor組件之間的關(guān)系,保證異步通信流程的順暢。

    (5)支持組件

    支持組件是指對(duì)WsbService或頁(yè)面方法代理進(jìn)行再次封裝的組件,包括身份驗(yàn)證代理和用戶個(gè)性化代理。實(shí)現(xiàn)客戶端/服務(wù)器端序例化/反序例化功能的組件也屬于支持組件,即JSON序例化組件。

    二、身份驗(yàn)證代理

    身份驗(yàn)證代理組件是由服務(wù)器端驗(yàn)證服務(wù)自動(dòng)生成的。通過(guò)使用身份驗(yàn)證代理組件,即可在客戶端用JavaScript以異步回送,也就是Ajax的方式,實(shí)現(xiàn)用戶的登錄/注銷(xiāo)功能,而無(wú)需完成傳統(tǒng)方式中的一次整頁(yè)回送。

    *用戶個(gè)性化代理

    用戶個(gè)性化代理組件是由服務(wù)器端個(gè)性化服務(wù)自動(dòng)生成的。與身份驗(yàn)證代理組件的功能非常類(lèi)似,通過(guò)使用用戶個(gè)性化代理組件,即可在客戶端用JavaScript以異步回送的方式獲取/修改/更新用戶的個(gè)性化信息,同樣避免了傳統(tǒng)方式中的一次整頁(yè)回送。

    *JSON序例化

    JSON序例化組件能夠把需要發(fā)送給服務(wù)器端的數(shù)據(jù)序例化程JSON格式,還能夠?qū)⒎?wù)器端返回的JSON字符串解析程真正的JavaScript對(duì)象(使用JavaScript的eval()函數(shù))。

    三、總結(jié)

    在ASP.NET開(kāi)發(fā)中需要使用異步通信來(lái)實(shí)現(xiàn)不同架構(gòu)之間的數(shù)據(jù)交互是非常必要的,可以使用Web Service代理、頁(yè)面方式代理等多種方式來(lái)完成。

    猜你喜歡
    身份驗(yàn)證服務(wù)器端頁(yè)面
    大狗熊在睡覺(jué)
    刷新生活的頁(yè)面
    Linux環(huán)境下基于Socket的數(shù)據(jù)傳輸軟件設(shè)計(jì)
    HID Global收購(gòu)Arjo Systems擴(kuò)大政府身份驗(yàn)證業(yè)務(wù)
    在Windows中安裝OpenVPN
    更安全的雙重密碼保護(hù)
    CHIP新電腦(2015年3期)2015-04-02 17:55:46
    身份驗(yàn)證中基于主動(dòng)外觀模型的手形匹配
    ASP.NET中的Forms身份驗(yàn)證的研究
    網(wǎng)頁(yè)防篡改中分布式文件同步復(fù)制系統(tǒng)
    同一Word文檔 縱橫頁(yè)面并存
    甘孜| 金秀| 哈巴河县| 北安市| 海南省| 杭锦后旗| 宁都县| 古交市| 柘荣县| 南投市| 晋江市| 天等县| 伊金霍洛旗| 平利县| 安宁市| 南部县| 正定县| 壤塘县| 阜康市| 米易县| 青海省| 浮梁县| 沐川县| 商城县| 安塞县| 乌拉特后旗| 莱西市| 宁明县| 平昌县| 忻城县| 东莞市| 邻水| 安义县| 循化| 绵竹市| 油尖旺区| 循化| 乐陵市| 庆城县| 河间市| 蓬安县|