成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

使用ASP.NET AJAX調用WCF服務項模板

開發 后端
本文將講述如何使用ASP.NET AJAX調用WCF服務項模板,讓您對WCF和AJAX有一個更加深入的了解。希望本文對您有所幫助。

開發平臺

1.Visual Studio 2008 SP1

2..NET Framework 3.5 SP1

3.ASP.NET AJAX

4.IIS 7或者VS 集成Web服務器 [WCF 和 SVS 文件配置]

5.Windows Vista

介紹

WCF (Windows Communication Foundation)中新增了很多特性來加強微軟應用程序開發平臺,尤其是在應用程序之間的通信上。在本篇文章 中,我們講了解到WCF是如何直接在客戶端JavaScript中使用的場景。這是由ASP.NET AJAX提供的一項非??岬奶匦浴T诒酒恼轮校覀?不 會對WCF的內部細節加以大量討論,而是講主要精力放在如何在JavaScript中直接使用服務。因此,我們在幕后不會對ASP.NET或者.NET運行時 是如何管理這些功能的特性進行探討。

為了演示文中涉及的理論與事實,我們講創建一個帶有兩個工程的解決方案。因此,不浪費時間了,開始創建一個空白的解決方案并保存起 來。現在,添加一個新的類庫項目到解決方案中。命名該類庫為ServiceLibrary。然后,添加一個Web應用程序工程到該解決方案中并命名為 WEBUI。后面我們將看到有兩種方式添加能夠讓JavaScript調用的WCF服務。

1.使用啟用AJAX的WCF服務項模板

2.在類庫中使用服務接口定義

使用啟用AJAX的WCF服務項模板

這里,我們將看到一種簡單明了的方式在JavaScript中調用一個WCF服務 。右鍵點擊Web應用程序工程并選擇添加新項。選擇啟用AJAX的WCF服務項模板,并命名為“HelloWorldService.svc” 最后點擊確定。此時, 向導會如愿添加一個HelloWorldService.svc文件到解決方案中。該文件也提供了代碼分離頁面。如果你在一個XML文件編輯器中打開了該文件 ,你將看到如下形式的標簽:

<%@ ServiceHost Language="C#" Debug="true"
Service="WebUI.HelloWorldService" CodeBehind="HelloWorldService.svc.cs" %>

如果你打開后臺代碼文件,將看到如下形式的代碼:

namespace WebUI
{
[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode =
AspNetCompatibilityRequirementsMode.Allowed)]
public class HelloWorldService
{
[OperationContract]
public void DoWork()
{
return;
}
}
}

VS 2008會自動為你在web.config文件中添加一些必要的配置,因此不需要手工在web.config文件中添加任何配置。現在,繼續并添加一個 HelloWorld()方法,該方法返回一個“HelloWorld”的字符串并為該方法添加一個[OperationContract]特性。在本篇文章的后面我們將解釋該 特性。

現在,為Web應用程序工程添加一個頁面并命名它為“HelloWorldTest.aspx”。從Visual Studio工具箱中拖拽一個Script Manager項到頁 面上。在ScriptManager 標簽內部,添加一個到該服務的引用。下面給出了該代碼示例:

<asp:ScriptManager ID="ScriptManager1" runat="server">
    <Services>
        <asp:ServiceReference Path="~/HelloWorldService.svc" />
    </Services>
</asp:ScriptManager>

現在,添加一個button按鈕和一個textbox文本框到頁面上,并為該按鈕添加點擊事件處理程序,以使用JavaScript函數來調用服務。當你 編寫服務調用函數時,Visual Studio 2008 HTML編輯器將提供智能感知功能以方便編寫必要的函數調用。完整的HTML代碼如下所示:

<form id="form1" runat="server">
<div>
    <script language="javascript" type="text/javascript">
        function GetValueFromServer() {
            HelloWorldService.HelloWorld(onSuccess, onFailure);
        }
        function onSuccess (result) {
            document.getElementById ('txtValueContainer').value = result;
        }

        function onFailure(result) {
            window.alert (result);
        }
    </script>
    <asp:ScriptManager ID="ScriptManager1" runat="server">
        <Services>
            <asp:ServiceReference Path="~/HelloWorldService.svc" />
        </Services>
    </asp:ScriptManager>
    <input id="btnServiceCaller" type="button" value="Get Value"
           onclick="GetValueFromServer()"; />
    <input id="txtValueContainer" type="text" value="" />
</div>
</form>

注意,當調用服務時,我們傳遞了兩個方法:一個用于進行回調而另一個用于錯誤回調。如果我們需要傳遞任何參數到該函數中,這些參數 會首先傳遞進去然后再進行回調。

因此,如果我們有一個名為getvalue 的函數并接收兩個字符串參數,那么我們將以[NameSpaceName].[ServiceName].getvalue(“value one”,”value two”,on_success,on_error);的方式調用該函數,此刻on_success和on_error各自表示回調和錯誤回調。

【編輯推薦】

  1. 技術高手講評ASP.NET MVC 1.0
  2. ASP.NET十個有效性能優化的方法
  3. 詳解AJAX在ASP.NET中的實現方式
責任編輯:彭凡 來源: IT168
相關推薦

2009-07-20 17:39:36

WCF服務ASP.NET AJA

2009-07-27 17:54:39

WCF服務ASP.NET

2009-07-21 09:53:55

ASP.NET AJAWCF服務

2010-02-26 10:30:03

ASP.NET Aja

2009-12-08 16:59:52

WCF服務

2009-07-27 17:38:30

WCF服務ASP.NET 3.5

2009-04-21 09:37:50

ASP.NETAjaxJavaScript

2009-07-27 17:51:58

WCF服務ASP.NET

2009-07-20 17:59:07

JavaScript調ASP.NET AJA

2010-03-02 16:58:11

AJAX WCF服務項

2009-07-22 16:11:43

ASP.NET AJA

2009-07-22 16:17:39

ASP.NET AJA

2009-07-22 16:25:41

ASP.NET AJA

2009-07-24 13:41:15

ASP.NET AJA

2009-07-22 16:05:34

ASP.NET AJA

2009-07-27 17:46:42

WCF服務ASP.NET應用程序

2009-07-27 09:07:04

Profile SerASP.NET AJA

2009-07-22 15:58:52

ASP.NET AJA

2009-07-31 13:24:43

ASP.NET AJA

2009-07-29 13:50:26

UpdatePanelASP.NET
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久资源 | 中文二区 | 香蕉婷婷| 国产精品爱久久久久久久 | 亚洲高清av| 国产亚洲精品美女久久久久久久久久 | 91精品国产91久久久久久三级 | 色眯眯视频在线观看 | 国产日产精品一区二区三区四区 | 欧美日韩综合精品 | 成人在线视频免费观看 | 美女毛片免费看 | 久久精品国产免费高清 | 国产一区二区在线免费观看 | 91精品国产欧美一区二区成人 | 夜夜操天天干 | 久久久国产精品 | 亚洲视频欧美视频 | 国产欧美日韩久久久 | 一区二区在线 | 高清国产一区二区 | 欧美精品福利 | 成年人网站国产 | 亚洲午夜三级 | 一区二区三区高清 | 午夜视频网站 | 中文字幕 国产 | 日韩一三区 | 美女人人操 | 久久久精品一区 | 男人的天堂在线视频 | 亚洲精品影院 | 中文字幕99| 成人免费大片黄在线播放 | www.嫩草| 91在线视频免费观看 | 久久久高清 | 91精品国产综合久久香蕉922 | 成人高清视频在线观看 | 天天干夜夜操 | 欧美一级免费黄色片 |