bai 2 mo hinh lap trinh wcf

Upload: le-thanh-vu

Post on 17-Oct-2015

26 views

Category:

Documents


0 download

TRANSCRIPT

  • Bi 2

    M HNH LP TRNH VI

    WINDOWS COMMUNICATION FOUNDATION

    Mc lc

    1 M hnh lp trnh WCF ..................................................................................................................................... 2 1.1 S dng phng php hng i tng hay hng dch v? .......................................................2 1.2 Service Model (M hnh dch v) .................................................................................................4 1.3 Cc phng php lp trnh vi WCF ............................................................................................6

    1.3.1 Declarative programming (Phng php khai bo) ..............................................................6

    1.3.2 Explicit programming (Phng php lp trnh trc tip) .....................................................7

    1.3.3 Phng php s dng tp tin cu hnh ..................................................................................7

    2 Xy dng mt dch v WCF .............................................................................................................................. 9 2.1 Ci t WCF .................................................................................................................................9

    2.1.1 .NET Framework 3.5 SP1 .....................................................................................................9

    2.1.2 Visual Studio 2008 SP1 ........................................................................................................9

    2.2 To dch v WCF u tin ca bn...............................................................................................9 2.2.1 To ng dng pha server .....................................................................................................9

    2.2.2 Pht hnh thng tin v dch v ...........................................................................................18

    2.2.3 To ng dng pha client ....................................................................................................23

    2.3 Cch khc to tham chiu client .........................................................................................25

    3 Cu hi n tp .................................................................................................................................................. 27

    4 Ti liu tham kho ........................................................................................................................................... 28

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 2

    Nhn lt qua th thy rng WCF c v ri rm phc tp. Tuy nhin nu bn hiu v WSDL (Web

    Service Description Language) v v Web services (cc dch v web), th vic nm c cc khi nim

    trong WCF rt n gin. Nhng nu khng quen v cc khi nim trn, hiu c khi nim trong

    WCF thng qua bi trc qu l mt vic hi qu sc, do WCF c qu nhiu lp v thnh phn.

    Tuy vy, WCF hay ch l n em n mt m hnh lp trnh v dch v rt n gin. Mc d nn

    tng bn di cho WCF tng i ln, WCF c xy dng trn c s .NET Framework do bn c

    th s dng ngn ng lp trnh v nn tng quen thuc lm vic vi n. Thm na, khi pht trin cc

    dch v vi WCF bn ch cn bit cch s dng mt phn ca cc lp m thi. Cch tt nht hc

    cch pht trin cc dch v vi WCF l lm vic trc tip vi n. Bi ny gii thiu vi cc bn m hnh

    lp trnh vi WCF, ng thi hng dn cc bn xy dng mt dch v WCF u tin.

    1 M hnh lp trnh WCF

    1.1 S dng phng php hng i tng hay hng dch v?

    Nu cc bn hc qua mn hc v cc phng php lp trnh hn s thy c 2 phng php chnh

    l hng th tc v hng i tng. V phng php hng i tng trong thi gian gn y c

    pht trin rt mnh v c h tr ngay trong cc ngn ng lp trnh nh C# hay VB.NET. Khi lm vic

    vi cc dch v web bn lm quen vi mt phng php na l lp trnh hng dch v (Service-

    oriented programming). Microsoft cung cp nhiu cng c trn .NET Framework h tr phng

    php lp trnh ny thng qua cc lp trong khng gian tn: System.Web.Services.

    Nh vy khi lm vic vi WCF bn c hai la chn l hng i tng v hng dch v. Vy ta

    nn s dng phng php no? Cu tr li l dng c hai. Ni mt cch n gin l phng php hng

    i tng c s dng pht trin cc ng dng trn desktop, cn phng php hng dch v c

    s dng kt ni cc ng dng vi nhau. iu quan trng y l lm sao hiu c s khc

    nhau gia hai phng php v hiu c khi no chng c s dng v s dng nh th no ng thi

    cng phi hiu v cc li ch chng cung cp.

    V hng i tng c th hiu nh sau. Cc ng dng hng i tng l hai hay nhiu lp ph

    thuc ln nhau v chia s chung cc kiu d liu. Nhng lp ny lin lc vi nhau thng qua cc li gi

    cc hm m lp i tng cung cp.

    Cc ng dng hng dch v l cc chng trnh khng bit g v nhau. Mi ng dng lin lc vi

    ng dng khc thng qua cc bn tin. im c bit l cc bn tin ny c gi t mt ng dng sang

    ng dng khc m khng quan tm ti nn tng m dch v ang chy.

    Khi pht trin cc dch v WCF, iu quan trng l cn hiu s lin kt gia hng i tng v

    hng dch v. Khi lm vic vi .NET Framework bn chc chn rt quen thuc vi thut ng lp (class)

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 3

    v giao din (interface). Cc thut ng ny vn c s dng khi pht trin dch v WCF. Cc lp v

    giao din l phn hng i tng trong WCF, cn phn hng dch v trong WCF s c thy khi bn

    a vo cc thuc tnh WCF nh ngha cc thc th.

    V d, lp sau y nh ngha mt giao din hng i tng

    public interface DichVuBanHang

    {

    decimal TinhGiaVanChuyen(string diachi, decimal trongluong)

    {

    // thc hin tnh ton

    }

    decimal TinhTienThue(decimal tongGiaTien)

    {

    // thc hin tnh ton

    }

    }

    Ta s c phn hng dch v cho dch v WCF khi thm vo cc thuc tnh cho giao din trn

    [ServiceContract]

    public interface DichVuBanHang

    {

    [OperationContract]

    decimal TinhGiaVanChuyen(string diachi, decimal trongluong)

    {

    // thc hin tnh ton

    }

    [OperationContract]

    decimal TinhTienThue(decimal tongGiaTien)

    {

    // thc hin tnh ton

    }

    }

    Nh vy l qua v d trn cc bn c th thy mi lin kt gia phng php hng i tng v

    hng dch v trong WCF. Cc bn cha cn quan tm ti cc thuc tnh [ServiceContract] v

    [OperationContract] vi, bi v nhng thuc tnh ny, v cn nhiu th khc na s c gii thiu mt

    cch chi tit khi thch hp.

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 4

    1.2 Service Model (M hnh dch v)

    Nu bn tng lm vic vi dch v web, bn s thy m hnh ny quen thuc vi bn theo mt

    cch no . Khi bn to mt dch v web, bn thc s to ra mt dch v (service). Dch v web cha

    mt ti liu XML m t tt c mi th cn bit v dch v . Ti liu ny c m t bng ngn ng

    Web Service Description Language (ngn ng m t dch v web). N cha ba phn:

    Service (dch v): Cha thng tin v v tr ca dch v

    Binding: Cha thng tin v cch lin lc vi dch v, nh dch v s dng giao thc g,

    vv.

    PortType (kiu cng): Gii thch v dch v s lm g

    M hnh dch v trn WCF cng tng t nh vi m hnh dch v web. im khc bit l cch

    t tn. Trong WCF cc phn khng c gi l service, binding, v portType m c gi tng ng l

    address (a ch), binding, v contract.

    M hnh dch v WCF c cung cp trong khng gian tn System.ServiceModel. Khng gian tn

    ny cha rt nhiu lp, nhng bn hon ton khng cn bit ton b chng. s dng m hnh v xy

    dng dch v, ta thng s dng mt s lp sau:

    Lp M t

    BasicHTTPBinding L binding m cc im cui dch v c th s dng lin lc

    vi cc ng dng khch v dch v web (ASMX)

    NetMsmqBinding L binding m cc im cui dch v c th s dng lin lc

    vi cc MSMQ khch v cc dch v khc

    NetNamedPipeBinding L binding m cc im cui dch v c th s dng lin lc

    vi cc ng dng khch/dch v trn cng mt my

    NetTCPBinding L binding m cc im cui dch v c th s dng lin lc

    vi cc ng dng khch/dch v cc my khc nhau

    WSHTTPBinding L binding m cc im cui dch v c th s dng lin lc

    vi cc ng dng khch/dch v s dng cc giao dch phn tn v

    cc phin lm vic bo mt v tin cy c.

    EndpointAddress Lp biu din a ch duy nht c cung cp v truy xut c

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 5

    cho my khch lin lc vi im cui dch v

    EndpointAddressBuilding L phng php to mi cc a ch u cui vi cc gi tr

    tham s xc nh

    ChannelFactory L phng php trong cc kiu knh khc nhau c to ra

    v qun l, v a ti cho cc ng dng khch gi bn tin ti cc

    im cui

    Identity Cch m mt nh danh c xc nh, cho php xc thc gia

    cc im cui khi trao i bn tin

    MessageHeader Biu din ni dung ca mt u bn tin SOAP

    ServiceHost Phng php cung cp vt cha cho cc dch v

    ReliableSession Cung cp truy xut ti cc thuc tnh ca thnh phn binding

    trong phin lm vic tin cy.

    nh ngha vic lin lc ca dch v, ta thng hay s dng cc lp sau

    Lp M t

    AddressHeader Phn u cha thng tin a ch c s dng xc nh v

    lin lc vi mt im cui

    AddressHeaderCollection Mt tp hp cc u a ch

    Binding Tp hp cc thnh phn binding, mi binding nh ngha cch

    m mt im cui lin lc vi th gii bn ngoi

    BindingContext Cung cp a ch v thng tin binding cn thit cho vic xy

    dng knh

    BindingElement Biu din mt thnh phn binding, c s dng xy dng

    cc binding

    CustomBinding S dng nh ngha v xy dng mt tu bin binding t mt

    tp cc thnh phn binding

    Message Mt n v ca lin lc gia cc im cui

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 6

    MessageHeader Ni dung ca u bn tin SOAP

    MessageHeaders Tp hp cc u bn tin

    1.3 Cc phng php lp trnh vi WCF

    C mt s phng php lp trnh vi WCF, mi phng php c u im v khuyt im ring ca

    n. iu c bit v WCF l lun c hn mt cch gii quyt mt vn trong WCF, v bn khng

    nht thit phi chn duy nht mt phng php no. Trong thc t, cch lm tt nht l t hp cc

    phng php c c s linh hot v mm do cho dch v ca bn.

    C ba phng php hay c s dng khi pht trin dch v WCF nh sau:

    Phng php khai bo

    Phng php lp trnh trc tip

    Phng php s dng tp tin cu hnh

    1.3.1 Declarative programming (Phng php khai bo)

    Lp trnh khai bo t c thng qua cc thuc tnh. Nhng thuc tnh ny c s dng nh

    ngha cc contract v xc nh hnh x ca dch v. Chng c s dng xc nh thm cc tham s

    thay i cc chi tit ca contract v hnh x dch v.

    Thuc tnh ServiceContract dng quy nh l giao din ny nh ngha cc chc nng ca

    mt dch v. Thuc tnh OperationContract c s dng cc hm quy nh rng hm ny

    c khai bo l mt phn ca dch v. l tt c nhng g cn to ra mt dch v WCF.

    Thm na, bn khng nht thit phi s dng cc giao din (interface) khi ci t mt dch v, iu

    ny cng ging nh vic bn khng cn phi s dng giao din nh ngha mt lp. Tuy vy bn nht

    thit phi quy nh phn no thuc v dch v. Bn c th nh ngha nhng phn khc cn cho giao din,

    nhng ch nhng hm (phng thc) c gn thuc tnh [OperationContract].

    V d ta c mt dch v thc hin php tnh cng gia 2 s nguyn AddInt v 2 s thc

    AddDouble. Ta khai bo dch v nh sau:

    [ServiceContract]

    public interface ICalcService

    {

    [OperationContract]

    int AddInt(int x, int y);

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 7

    [OperationContract]

    double AddDouble(double x, double y);

    }

    Nh vy dch v ca chng ta sau khi khai bo s c 2 phng thc (khai bo vi thuc tnh

    OperationContract) l AddInt v AddDouble. Tuy nhin khi khai bo trong C#, vic t tn

    AddInt v AddDouble, v c th c mt s hm add cho cc kiu d liu khc, c th rt gn li

    thnh mt tn hm Add m thi. Nhng cc dch v li khng cho php t trng tn hm nh th.

    Chng ta c th khai bo thm vi thuc tnh OperationContract thc hin, cch lm nh sau:

    [ServiceContract]

    public interface ICalcService

    {

    [OperationContract(Name="AddInt")]

    int Add(int x, int y);

    [OperationContract(Name="AddDouble")]

    double Add(double x, double y);

    }

    Cc bn c th thy l chng ta s dng c php np chng tn trong C# v s dng thm tham s

    Name quy nh thm tn hm dch v. Ngoi u im trong vic gii quyt np chng tn hm, ta

    cn thy mt li ch khc na l, vic quy nh tham s Name trong thuc tnh OperationContract

    cn cho ta thm linh hot trong vic i tn cc hm trong giao din m khng lm thay i nh ngha

    dch v, ngha l cc ng dng khc s dng dch v ny khng cn phi bin dch li.

    1.3.2 Explicit programming (Phng php lp trnh trc tip)

    L phng php lp trnh hng i tng, bn lm vic trc tip vi cc lp v giao din cung cp

    bi m hnh i tng ca WCF. Lm vic trc tip vi m hnh i tng cho php nh pht trin tnh

    linh hot cao hn v kh nng iu khin tt hn thng qua m ngun ca h. Thm na n cho php

    iu khin su hn rt nhiu so vi phng php khai bo v phng php s dng tp tin cu hnh.

    1.3.3 Phng php s dng tp tin cu hnh

    Cng ging nh phng php khai bo, c rt nhiu th m bn c th quy nh lin quan n hnh

    x ca mt dch v thng qua tp tin cu hnh ca dch v. iu hay trong cch tip cn ny l nhng

    thay i tp tin cu hnh hon ton khng cn phi bin dch li dch v mi s dng c.

    Sau y l v d s dng tp tin cu hnh nh ngha dch v tnh ton trong v d ca phn

    phng php khai bo.

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 8

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 9

    2 Xy dng mt dch v WCF

    2.1 Ci t WCF

    2.1.1 .NET Framework 3.5 SP1

    xy dng mt dch v WCF, u tin bn cn phi ci t .NET Framework 3.5 SP1. Thc ra ch

    cn .NET Framework 3.0 l , tuy nhin .NET Framework 3.5 SP1 cn cung cp thm cho bn nhiu

    tnh nng na, nn bn nn ci .NET Framework 3.5 SP1. Bn ci t ca framework c Microsoft

    cung cp trang web http://www.microsoft.com/downloads/details.aspx?familyid=ab99342f-5d1a-413d-

    8319-81da479ab0d7&displaylang=en hoc ti http://download.microsoft.com/download/2/0/e/20e90413-

    712f-438c-988e-fdaa79a8ac3d/dotnetfx35.exe

    2.1.2 Visual Studio 2008 SP1

    Sau khi ci t .NET Framework 3.5 SP1, bn thc hin ci t Visual Studio 2008 bn Express

    hoc bn Professional tu theo bn c bn no. Nu kinh ph hn hp, bn c th ti v bn Visual Studio

    2008 Express Edition min ph trn trang web ca Microsoft, link y:

    http://go.microsoft.com/?linkid=9350817

    Gi y bn sn sng to ra dch v u tin trn WCF

    2.2 To dch v WCF u tin ca bn

    Bn c th hnh dung ng dng chng ta s xy dng nh sau. Cng ty Contoso cn xy dng mt

    h thng qun l cc nhn vin ca cng ty. Ban u, chng ta cn phi xy dng mt ng dng server

    Cung cp danh sch cc nhn vin, v

    Cho php hi v ngy sinh ca mt nhn vin no .

    Sau cn mt ng dng pha client lm nhng vic sau

    Hin th danh sch cc nhn vin

    Chn mt nhn vin v hin th ngy sinh ca nhn vin .

    2.2.1 To ng dng pha server

    Bc 1. To ng dng

    1. M Visual Studio 2008, chn to mi C# Console Project t tn l StaffService, xem

    Figure 1

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 10

    Figure 1 To mi project

    2. Thm tham chiu ti System.ServiceModel.dll.

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 11

    Figure 2 Tham chiu ti ServiceModel

    Bc 2. To contract dch v

    1. nh ngha giao din s c s dng nh l contract cho ng dng ca chng ta, thm

    vo thuc tnh ServiceContract cho giao din

    2. nh ngha 2 hm nh on m ngun sau, cc hm ny ng vai tr l cc contract

    operations miu t chc nng ca dch v

    [ServiceContract]

    public interface IStaff

    {

    [OperationContract]

    string DisplayStaff();

    [OperationContract]

    DateTime GetBirthday(int staffId);

    }

    Bc 3. Ci t dch v

    1. nh ngha lp Staff ci t giao din IStaff

    2. Thc hin ci t cho 2 hm c nh ngha trong giao din IStaff

    using System;

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 12

    namespace StaffService

    {

    public class Staff : IStaff

    {

    #region IStaff Members

    public string DisplayStaff()

    {

    return "1. L Anh\n2. Trn Vn Bnh\n3. Nguyn Vn

    Cng\n4.inh Vn Dng";

    }

    public DateTime GetBirthday(int staffId)

    {

    switch (staffId)

    {

    case 1:

    return new DateTime(1979, 1, 20);

    case 2:

    return new DateTime(1975, 5, 1);

    case 3:

    return new DateTime(1967, 2, 26);

    case 4:

    return new DateTime(1958, 10, 11);

    default:

    return DateTime.Now;

    }

    }

    #endregion

    }

    }

    Bc 4. To vt cha dch v

    1. Thm on m ngun sau vo hm main

    ServiceHost sh = new ServiceHost(typeof(Staff));

    try

    {

    sh.Open();

    Console.WriteLine("Staff Service opened successfully");

    Console.WriteLine("Press Enter to terminate Staff Service");

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 13

    Console.ReadLine();

    }

    finally

    {

    sh.Close();

    }

    Bc 5. To cc cu hnh dch v

    1. Compile project ca bn, m bo rng khng c li xy ra trong qu trnh bin dch

    2. M trnh son tho dch v, Service Configuration Editor v np tp ng dng, bng

    cch trong Visual Studio 2008, chn menu Tools, chn la chn WCF Service Configuration

    Editor

    3. Chn New Config, t tn l Staff.Service

    Figure 3 To config cho service

    4. t contract dch v l StaffService.IStaff

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 14

    Figure 4 t tn cho contract dch v

    5. Chn cch lin lc l HTTP

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 15

    Figure 5 Chn cch lin lc

    6. Tip theo chn phng php lm vic l Advanced Web Services interoperability, v t

    kiu lin kt l Simplex Communication

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 16

    Figure 6 Chn Simplex communication

    7. t mc nh (trng) cho trng a ch, v bm Finish, bn s thy kt qu sau

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 17

    Figure 7 Kt qa cu hnh dch v

    8. Gi bn bm vo biu tng Host pha bn tri, sau chn thm mi a ch c s cho

    dch v ca bn, t a ch l http://localhost:8000/StaffService

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 18

    Figure 8 Thm a ch c s

    9. M rng nt EndPoints, chn im cui, ri t tn l ep1

    Figure 9 t tn cho im cui

    10. Kt thc qu trnh ny bn s c tp cu hnh nh sau:

    2.2.2 Pht hnh thng tin v dch v

    pht hnh thng tin v dch v cho cc ng dng khc khai thc, ta cn theo cc bc sau:

    1. M rng nt Advanced (bn tri), sau chn nt Service Behaviors v bm vo New

    Service Behavior Configuration bn phi

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 19

    Figure 10 To mi cu hnh cho hnh x dch v

    2. t tn l MetaDataBehavior, bm Add thm thnh phn hnh x, chn

    ServiceMetaData

    Figure 11 Thm hnh s siu d liu

    3. Chn nt serviceMetadata bn tri v nhp vo gi tr HttpGetEnabled thnh true l

    HttpGetUrl l http://localhost:8000/StaffService

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 20

    Figure 12 t cu hnh cho serviceMetadata

    4. Gi bn chn nt StaffService.Staff v t Behavior Configuration vi gi tr l

    MetaDataBehavior

    Figure 13 t BehaviorConfiguration cho dch v

    5. Cui cng l to im cui cc ng dng c th kt ni ti dch v ly cc thng

    tin v dch v. Bm chut phi vo Endpoints vo chn New Service Endpoint sau t cu

    hnh nh sau:

    Name: ep2

    Address: mex

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 21

    Binding: mexHttpBinding

    Contract: ImetaDataExchange

    Figure 14 Cu hnh cho im cui

    6. Bm menu Save bn s c tp cu hnh nh sau:

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 22

    7. Gi bn c th chy dch v. S khng c li g xy ra v bn s c mn hnh nh sau:

    Figure 15 Thc hin dch v

    8. Nu s dng Internet Explorer truy xut ti a ch

    http://localhost:8000/StaffService bn s thy mn hnh sau:

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 23

    Figure 16 S dng IE xem dch v

    2.2.3 To ng dng pha client

    Phn ny hng dn cc bn to ng dng pha client truy xut cc hm do dch v trn cung cp.

    im hay trong WCF l bn ch cn s dng mt dng m ngun gi n dch v StaffService, ch

    mt dng m thi, nhng th khc c to ra t ng s dng cng c svcutil.exe.

    1. M console dng lnh v chuyn ti th mc bn mun to cc tp, g vo lnh sau v

    bm Enter:

    Svcutil.exe http://localhost:8000/StaffService?wsdl

    Bn s thy kt qu sau:

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 24

    Figure 17 Kt qu to ra khai bo dch v

    2. To ra mt console project mi t tn l StaffClient v thm tham chiu ti

    System.ServiceModel. Thm vo tp va to ra l Staff.cs, ng thi i tn tp cu hnh thnh

    app.config v thm vo project. Kt qu nh sau:

    Figure 18 To client

    3. Sau khi bin dch v chy chng trnh bn c kt qu sau:

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 25

    Figure 19 Kt qu chy chng trnh

    2.3 Cch khc to tham chiu client

    Ngoi cch thc hin bng dng lnh nh trn, ta hon ton c th s dng s gip ca cng c

    Visual Studio to ra tham chiu dch v pha client. Cch ny thc hin rt nhanh v rt tin li. Cch

    lm nh sau:

    Bc 1. Chn chut phi vo project cn thm tham chiu, y l StaffClient, sau chn menu

    l Add Service Reference nh hnh sau:

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 26

    Figure 20 Thm tham chiu dch v

    Bc 2. G vo a ch ca dch v cn thm, sau bm nt Go, pha di t tn cho tham chiu

    dch v l StaffService nh hnh di.

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 27

    Figure 21 Cu hnh cc tham s cho tham chiu dch v

    Sau bc ny bn hon ton c th s dng lp StaffClient ci t ng dng pha client.

    3 Cu hi n tp

    1. Lit k cc m hnh lp trnh vi WCF

    C 2 m hnh lp trnh ch yu vi WCF l phng php hng i tng v phng php

    hng dch v. Phng php hng i tng thng thng c s dng khi pht trin ng

    dng desktop, cn phng php hng dch v c s dng pht trin cc dch v pha

    server. Mi lin kt gia hai phng php ny thng qua cc lp v giao din (hng i tng)

    v cc thuc tnh WCF trn cc lp hay giao din (hng dch v)

    2. Cc phng php lp trnh vi WCF

    C 3 phng php lp trnh vi WCF l phng php khai bo, phng php hin hin, v

    phng php s dng tp tin cu hnh. Thng thng khi lm vic vi WCF, ta khng s dng

  • Microsoft Vietnam DPE Team | Bi 2: M hnh lp trnh vi WCF 28

    ring bit mt phng php no m s dng kt hp c ba phng php t c kt qu tt

    nht.

    4 Ti liu tham kho

    1. Programming your first WCF service (URL:

    http://www.myitblog.com/sundararajan/programming-your-first-wcf-service.html)

    2. Your first WCF Service (URL: http://eng.ahmedelmalt.googlepages.com/wcf02.htm)