啟用了AJAX的WCF服務

來源:互聯網
上載者:User

  剛才在百度百科裡找了一下WCF:Windows Communication Foundation (WCF) 是由微軟發展的一組資料通訊的應用程式開發介面,它是.NET架構的一部分,由 .NET Framework 3.0 開始引入,與 Windows Presentation Foundation 及 Windows Workflow Foundation 並行為新一代 Windows 作業系統以及 WinFX 的三個重大應用程式開發類庫。

  它就是微軟開發的一組資料通訊的介面。其中wcf也實現了Ajax的服務。用它,我就可以簡化Ajax開發了。之前我寫Ajax服務,都是需要建一個ashx處理常式頁面,要序列化資料,在前台還需要還原序列化資料等,比較費事。

  接下來看看如何運用它:在一個web項目中,建立-->添加新項-->啟用了AJA的XWCF服務。添加一個尾碼名為svc的處理頁面,大概內容如下:

PesrsonService.svc

[ServiceContract(Namespace = "")]
[AspNetCompatibilityRequirements(RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]
public class PersonService
{
// 添加 [WebGet] 屬性以使用 HTTP GET
[OperationContract]
public void DoWork()//這個是自動產生的樣本
{
// 在此處添加操作實現
return;
}
[OperationContract] //標記了OperationContract的方法就可以在Ajax中調用
public Person GetPerson()
{
return new Person(){Name="楊鳳輝",Age=22};
}
}
public class Person
{
public string Name { set; get; }
public int Age { set; get; }
}

  在aspx頁面,頁首添加一個ScriptManager控制項,然後設定一下“service集合”屬性,添加一個service,路徑path為剛才定義的svc頁面:

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

如此,我就可以在該頁面的Javascript代碼中調用PessonService.svc中定義的方法。

<script language="javascript" type="text/javascript">
function Button1_onclick() {
PersonService.GetPerson(function(data){alert(data.Name);},
function(){alert("失敗");});
}
</script>

吃午飯了, 接下來就可以在普通的aspx中,通過AJAX的方式調用上面定義的方法了,資料完全可以從資料庫中讀取,為了方便示範,寫了一個person類。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.