真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何使用ASP.Net3.5進(jìn)行Ajax與Web服務(wù)開發(fā)

今天就跟大家聊聊有關(guān)如何使用ASP.Net 3.5進(jìn)行Ajax與Web服務(wù)開發(fā),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。

東川網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)建站!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、響應(yīng)式網(wǎng)站等網(wǎng)站項目制作,到程序開發(fā),運營維護(hù)。創(chuàng)新互聯(lián)建站自2013年起到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)建站。

在這里我又介紹了命名空間System.Web.Script的方式確定客戶端調(diào)用Web服務(wù)方法。

在AJAX中調(diào)用Web服務(wù)方法可以提高Web用戶的體驗,微軟在ASP.NET3.5中的AJAX加入了它的新功能,新的功能可以從客戶端JavaScript調(diào)用Web服務(wù)方法無刷新整個頁面。AJAX技術(shù)使你能夠調(diào)用服務(wù)器端的方法,沒有post back。客戶端腳本可以提出請求的Web方法,并可以通過數(shù)據(jù)作為輸入?yún)?shù)的方法和數(shù)據(jù)也可以從服務(wù)器發(fā)回給客戶端瀏覽器。

為了使你的應(yīng)用程序調(diào)用的ASP.NET Web service使用客戶端腳本,服務(wù)器異步通信層會自動生成的JavaScript代理類。代理類生成為每個Web服務(wù)的一個元素被列入控制的頁面。

 
     
            
     

這是下載的代理類的瀏覽器在網(wǎng)頁加載時間,并提供了一個客戶端對象,代理調(diào)用方法的Web服務(wù)。在調(diào)用相應(yīng)的方法所產(chǎn)生的JavaScript的代理類。該代理類打開通信與網(wǎng)絡(luò)服務(wù)。這些請求通過的XMLHTTP對象的瀏覽器異步通訊。 

如下圖所示,詳細(xì)規(guī)定了不同的層上的客戶機(jī)和服務(wù)器方面通訊框架。

如何使用ASP.Net 3.5進(jìn)行Ajax與Web服務(wù)開發(fā)

元素指定注冊一個JavaScript文件,用來在網(wǎng)頁中。只有在注冊CallWebServiceMethod.js文件,您才可以在方法上進(jìn)行調(diào)用,調(diào)用Web服務(wù)方法的腳本是異步的。獲得返回值或以確定何時返回的請求,您必須提供一個成功的回調(diào)函數(shù)。回調(diào)函數(shù)被調(diào)用時,請求已成功完成,并且它包含的返回值(如果有的話)從Web方法調(diào)用。您也可以提供一個失敗的回調(diào)函數(shù)來處理錯誤。此外,您還可以通過用戶的背景資料,使用中的回調(diào)函數(shù)。

如下圖,是WCF和Ajax調(diào)用Web service時序圖。

如何使用ASP.Net 3.5進(jìn)行Ajax與Web服務(wù)開發(fā)

     在上一篇文章(基于ASP.NET 3.5 Web Service 的JSON擴(kuò)展應(yīng)用)中已經(jīng)講過,JSON - JavaScript對象符號是默認(rèn)序列化格式,使用它進(jìn)行數(shù)據(jù)轉(zhuǎn)換之間客戶端服務(wù)器請求。您可以禁用所有目前啟用的協(xié)議像HTTP-GET、HTTP-POST,甚至的XML格式的SOAP中使用的早期形式的Web服務(wù)。以下設(shè)置在Web.config文件同樣也是這樣使用。

 
    
        
          
        
      

請求一個Web服務(wù)方法通過這些層面。你可以看到如何使用一種方法,要求在一個可用的代理對象和Web請求中,并由一個XMLHttp對象在客戶端瀏覽器端運行。在服務(wù)器端,你的要求是與往常一樣是由一個HTTP處理程序,發(fā)出的XML/JSON序列化。

如下圖所示,asp.net 3.5調(diào)用Ajax與Web服務(wù)的類關(guān)系圖。

如何使用ASP.Net 3.5進(jìn)行Ajax與Web服務(wù)開發(fā)

在AJAX中使用Web服務(wù)方法包括兩個步驟:***步是,創(chuàng)建和定義Web服務(wù)。第二個步,是使用客戶端腳本來從一個網(wǎng)頁的服務(wù)通話方法。創(chuàng)建一個Web服務(wù):

在System.Web.Scripts.Services命名空間,你可能會發(fā)現(xiàn)一個屬性類“ScriptSrvice ”,這需要適用于Web服務(wù)類,使Web服務(wù)方法可以調(diào)用來自客戶端的腳本。這將使代理生成腳本來生成一個代理對象對應(yīng)于Web服務(wù)類。

同樣,在相同的命名空間,可能會發(fā)現(xiàn)另一個屬性類“ScriptMethod”,如果采用此屬性為Web方法,你可以指定哪些HTTP動詞是用來調(diào)用一個方法和響應(yīng)形式。

此屬性有三個參數(shù)描述如下:

UseHttpGet :如果設(shè)置為true,將調(diào)用該方法使用HTTP GET命令。默認(rèn)值為false 。 

ResponseFormat :指定是否反應(yīng)將序列化的簡JSON或XML 。默認(rèn)值為JSON。

XmlSerializeString :指定是否所有返回類型,包括字符串類型,是為XML序列化的值將被忽略XmlSerializeString連續(xù)的響應(yīng)來系列化的JSON 。

現(xiàn)在,創(chuàng)建新的Web使用ASP.NET Web Service模板在Microsoft Visual Studio 2008和修改Web服務(wù)類如下:

using System.Web.Script.Services;

namespace AjaxWebService
{
    [WebService(Namespace = "http://localhost:1382/AjaxWebService/")]
    [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
    [ScriptService]
    public class Service : System.Web.Services.WebService
    {
        string myXmlData = @"
                
                    
                ";
       
        /// 
        /// This method uses JSON response formatting 
        /// 
        /// 
        /// 
        [ScriptMethod(ResponseFormat = ResponseFormat.Json)]
        [WebMethod]
        public string getNextBackupDate(int months)
        {
            return DateTime.Now.AddMonths(months).ToShortDateString();
        }
        
        /// 
        /// This method uses XML response formatting
        /// 
        /// 
        [ScriptMethod(ResponseFormat = ResponseFormat.Xml)]
        [WebMethod]
        public XmlDocument GetBookTitle()
        {
            XmlDocument xmlDoc = new XmlDocument();
            xmlDoc.LoadXml(myXmlData);
            return xmlDoc;
        }
       
        /// 
        /// This method uses HTTP-GET protocol to call it
        /// 
        /// 
        [ScriptMethod(UseHttpGet = true)]
        [WebMethod]
        public string HelloWorld()
        {
            return "Hello, world";
        }
    }
}

注:Web服務(wù)創(chuàng)建的ScriptService使用如上將不會被瀏覽器默認(rèn)。您需要修改文件中的設(shè)置Web.config文件如下,以測試上述Web服務(wù)。

 
     
        
       
    

調(diào)用Web服務(wù)方法使用客戶端腳本,Asp.Net Web服務(wù)方法可以說是從客戶端腳本異步不回傳,并沒有刷新整個頁面。只有其之間傳輸數(shù)據(jù)的服務(wù)器和客戶端的瀏覽器。
目前,.NET 3.5框架支持Web服務(wù)和客戶端的網(wǎng)頁可以在相同的域(同一網(wǎng)站)。

現(xiàn)在增加一個新的“Ajax激活Web頁” ,以現(xiàn)有的Web服務(wù)項目并添加控件的網(wǎng)頁中指定的標(biāo)記如下,編寫JavaScript函數(shù)調(diào)用Web服務(wù)和回調(diào)方法。調(diào)用Web服務(wù)方法是通過使用代理類和參數(shù)列表,成功回調(diào)函數(shù)名,失敗的回調(diào)函數(shù),用戶方面是通過額外的參數(shù)的要求調(diào)用。

<%@ Page  Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="AjaxWebService.Default" %>


    
    

function CallNextDate() 
    {
        AjaxWebService.Service.getNextBackupDate(1, OnSucceeded);
    }

    function CallHelloWorld() 
    {
        AjaxWebService.Service.HelloWorld(OnSucceeded);
    }
   function CallBookTitle() 
    {
        AjaxWebService.Service.GetBookTitle(OnSuccess, OnFail, "XmlDocument");
    }
    
    // This is the callback function that processes the Web Service return value in JSON format.
    function OnSucceeded(result)
    {
        var myresult = document.getElementById("Text1");
        myresult.value = result;
    }
    
   // This is the callback function that processes the Web Service return value in XML format.
    function OnSuccess(result)
    {
        var myresult = document.getElementById("Text1");
        myresult.value = "Title: " + result.documentElement.text;
    }
    
   // This is the callback function that processes the Web Service return value in XML format.
    function OnFail(error)
    {
        var myresult = document.getElementById("Text1");
        myresult.value = "Service Error: " + error.get_message();
    }
     
  
    
        #Text1
        {
            width: 375px;
        }
        #Button2
        {
            width: 140px;
        }
    

    
    
                                                     
        Result:           
        
                                            
        
        
        
    

在上面的標(biāo)記,通知的路徑屬性如何在ServiceReference元素ScriptManager控制點到Web服務(wù)類。這使得Web服務(wù)方法被稱為從腳本中的default.aspx頁面。

內(nèi)嵌功能CallNextDate , CallHelloWorld , CallBookTitle是用來調(diào)用的三個Web服務(wù)方法。 OnSuccess和OnFail方法是回調(diào)方法,得到執(zhí)行的Web服務(wù)的方法得到了執(zhí)行。為了使客戶端的Web頁的正常工作,您需要添加以下設(shè)置的Web.config文件。

 
    
      
        
        
      
      
        
        
      
    
  

使用微軟ASP.NET 3.5引用的System.Web.Extensions.dll等DLL,利用內(nèi)置的ASP.NET3.5中的AJAX技術(shù)。

看完上述內(nèi)容,你們對如何使用ASP.Net 3.5進(jìn)行Ajax與Web服務(wù)開發(fā)有進(jìn)一步的了解嗎?如果還想了解更多知識或者相關(guān)內(nèi)容,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。


分享題目:如何使用ASP.Net3.5進(jìn)行Ajax與Web服務(wù)開發(fā)
當(dāng)前路徑:http://weahome.cn/article/jhsdio.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部