您的位置:首页 > 技术开发 > 正文

基於IIS的WCF的分布式多層架構開發實現

作者:ITPUB论坛  2008-05-20
内容导航:
文本Tag: 微软 sql
  這個基於工具也可產生,網上大把。只是要註意的是,要能在WCF中傳遞的實體,必須是可序列化和序列化了的實體,在Remoting中我們需要在類前面冠上<Serializable()> _這種形式的編程即可,同樣在WCF中我們使用的是<DataContract()> _,然后在屬性前面也加上<DataMember()> _聲明。

  3、同樣,我們再接著建立一個Contract,引用第二步建立的實體對象。我們使用類似下面的代碼,這里同樣運用了聲明式的編程方式。各位可以自行比較這些代碼跟我們常用的代碼的寫法的差異。
Imports System Imports System.ServiceModel Imports HL.EntityReflect.Osp '/ <summary> '/ Summary description for IEmployee. '/ </summary> <CLSCompliant(False)> _ <ServiceContract()> _ Public Interface IEmployeeInterface IEmployee <OperationContract()> _ Function Query()Function Query() As EREmployee() <OperationContract()> _ Sub Add()Sub Add(ByVal er As EREmployee) <OperationContract()> _ Sub Modify()Sub Modify(ByVal er As EREmployee, ByVal strBS_NO As String, ByVal strBS_Name As String) <OperationContract()> _ Sub Del()Sub Del(ByVal er As EREmployee) <OperationContract()> _ Function fAdd()Function fAdd(ByVal intX As Integer, ByVal intY As Integer) As Integer End Interface
  4、這一步實現很關鍵,能否使用WCF成功,這一步至關重要,我們把對應的類繼承於ClientBase,並實現了HL.Shared.Osp,當然真實方法我們在另一個專案中實現,這里算是一個引子吧,權當我曾經好像看過某位牛人(如果沒有記錯應該也是上面張先生寫的一篇文章。關於Remoting的)說的.net下Remoting的欺騙吧。你把他當做欺騙也好,什么也好,只是我需要指明的是這個很重要,代碼如下:
Imports System.ServiceModel Imports System.ServiceModel.Channels Imports HL.EntityReflect.Osp Imports HL.Shared.Osp Imports System.Data.SqlClient Public Class BLEmployeeClass BLEmployee Inherits ClientBase(Of IEmployee) Implements IEmployee Public Sub New()Sub New() MyBase.New() End Sub Public Sub New()Sub New(ByVal endpointConfigurationName As String) MyBase.New(endpointConfigurationName) End Sub Public Sub Add()Sub Add(ByVal er As EREmployee) Implements IEmployee.Add Channel.Add(er) End Sub Public Sub Del()Sub Del(ByVal er As EREmployee) Implements IEmployee.Del Channel.Del(er) End Sub Public Sub Modify()Sub Modify(ByVal er As EREmployee, ByVal strBS_NO As String, ByVal strBS_Name As String) Implements IEmployee.Modify Channel.Modify(er, strBS_NO, strBS_Name) End Sub Public Function Query()Function Query() As EREmployee() Implements IEmployee.Query Return Channel.Query() End Function Public Function fAdd()Function fAdd(ByVal intX As Integer, ByVal intY As Integer) As Integer Implements IEmployee.fAdd Return Channel.fAdd(intX, intY) End Function End Class
相关关键词 .NET server sql 微软
1
【内容导航】
第1页: 概述
©版权所有。未经许可,不得转载。
[责任编辑:nancy]