Programmēšana

Kā izveidot RESTful pakalpojumu WCF

WCF (Windows Communication Foundation) ir droša, uzticama un mērogojama ziņojumapmaiņas platforma, kuru var izmantot, lai izveidotu tīmekļa pakalpojumus .Net. Tas nodrošina vienotu programmēšanas modeli uz pakalpojumu orientētu lietojumprogrammu izstrādei.

Varat izmantot WCF, lai izveidotu RESTful pakalpojumus .NET. REST (reprezentatīvā stāvokļa pārsūtīšana) ir arhitektūras paradigma, kas atbilst REST arhitektūras principiem. REST arhitektūra ir balstīta uz resursu jēdzienu: tā izmanto resursus, lai attēlotu lietojumprogrammas stāvokli un funkcionalitāti. Šie resursi savukārt tiek identificēti, izmantojot URI, izmantojot HTTP protokolu.

WCF pakalpojuma izveide

Šajā sadaļā mēs izpētīsim, kā mēs varam izveidot RESTful pakalpojumu WCF. Vispirms izveidosim jaunu WCF pakalpojumu Visual Studio. Lai to izdarītu, veiciet tālāk norādītās darbības. Ņemiet vērā, ka, lai izveidotu šajā rakstā ilustrēto lietojumprogrammu, esmu izmantojis Visual Studio 2015, lai gan varat izmantot arī Visual Studio 2012 vai 2013.

  1. Atvērt Visual Studio 2015
  2. Visual Studio IDE izvēlnē Fails noklikšķiniet uz Sākt -> Fails -> Jauns -> Projekts
  3. Pēc tam parādīto projekta veidņu sarakstā atlasiet WCF
  4. Labās puses rūtī atlasiet “WCF Service Application”
  5. Norādiet sava WCF pakalpojumu projekta nosaukumu un noklikšķiniet uz Labi, lai to saglabātu

Tas izveidotu jaunu WCF pakalpojumu lietojumprogrammas projektu jūsu norādītajā nosaukumā. Projektā būtu arī noklusējuma pakalpojums tikai ilustratīviem nolūkiem.

RESTful WCF pakalpojuma ieviešana

Strādājot ar WCF, vispirms jāizveido pakalpojumu līgums un pēc tam tajā jānosaka pakalpojumu darbības vai darbības līgumi. Parasti WCF pakalpojums sastāv no:

  1. Apkalpošanas klase
  2. Pakalpojuma līgums
  3. Viens vai vairāki darbības līgumi
  4. Viens vai vairāki galapunkti
  5. Hostinga vide

ServiceContract tiek izmantots, lai norādītu darbības, kuras pakalpojumu klientam ir pieejamas patērēšanai. Šis koda fragments parāda, kā izskatās pakalpojumu līgums - mēs to vēlāk pārveidosim, lai padarītu to RESTful.

 [ServiceContract]

publiskā saskarne ICustomerService

    {

[OperationContract]

Sarakstā GetCustomerList ();

    }

Datu līgums tiek izmantots, lai aprakstītu datus, kas jāapmainās starp pakalpojumu sniedzēju un pakalpojuma patērētāju. Apsveriet šādu DataContract sauc Klients.

[DataContract (Namespace = "")]

sabiedriskās klases klients

    {

[DataMember]

public Int32 CustomerID {get; komplekts; }

[DataMember]

publiskā virkne FirstName {get; komplekts; }

[DataMember]

publiskā virkne Uzvārds {get; komplekts; }

[DataMember]

publiskā virknes adrese {get; komplekts; }

    }

Darbības līgumu izmanto, lai atklātu metodi kā pakalpojuma metodi, kā arī darījuma plūsmu, pakalpojuma darbības virzienu un arī saistīto (-os) līgumu (-s). Šis koda fragments ilustrē, kā jūs varat deklarēt pakalpojuma darbību, izmantojot atribūtu OperationContract un atribūtu WebInvoke, lai norādītu HTTP darbību, URI, tīmekļa ziņojumu formātu utt.

[OperationContract]

[WebInvoke (metode = "GET", ResponseFormat = WebMessageFormat.Json,

BodyStyle = WebMessageBodyStyle.Wrapped, UriTemplate = "GetCustomers")]

Sarakstā GetCustomerList ();

Šis koda fragments parāda, kā klientu apkalpošanu var padarīt RESTful, tās apkalpošanas metodei piemērojot atribūtu WebInvoke.

publiskā saskarne ICustomerService

    {

[OperationContract]

[WebInvoke (metode = "IEGŪT",

ResponseFormat = WebMessageFormat.Json,

BodyStyle = WebMessageBodyStyle.Wrapped,

UriTemplate = "GetCustomers")]

Sarakstā GetCustomerList ();

    }

Klase CustomerService pagarina pakalpojuma ICustomerService pakalpojumu līgumu un nodrošina pakalpojuma GetCustomerList nosaukuma ieviešanu. Lūk, kā izskatīsies klase CustomerService.

[AspNetCompatibilityRequirements (RequirementsMode = AspNetCompatibilityRequirementsMode.Allowed)]

publiskā klase CustomerService: ICustomerService

    {     

publiskais saraksts GetCustomerList ()

        {

atgriezt PopulateCustomerData ();

        }

privāts saraksts PopulateCustomerData ()

        {

Saraksts lstCustomer = jauns saraksts ();

Klienta klients1 = jauns klients ();

klients1.CustomerID = 1;

klients1.Vārds = "Jānis";

klients1.LastName = "Meaney";

klients1.Adrese = "Čikāga";

lstCustomer.Add (klients1);

Klienta klients2 = jauns klients ();

klients2.CustomerID = 1;

klients2.Vārds = "Pēteris";

klients2.LastName = "Shaw";

klienta2. Adrese = "Ņujorka";

lstCustomer.Add (klients2);

atgriezties lstCustomer;

        }

    }

Ņemiet vērā, ka metode PopulateCustomerData nav pakalpojuma metode; tā ir privāta metode, kas atgriež klientu ierakstu sarakstu un tiek izsaukta no pakalpojuma metodes GetCustomerList.

Nākamā lieta, kas jums jādara, ir jākonfigurē WCF pakalpojums. Lai to izdarītu, jums jānorāda saistošā un galapunkta informācija, kā arī pakalpojuma darbība. Šis koda fragments parāda, kā jāizskatās šī pakalpojuma konfigurācijai.

   

     

       

       

     

   

   

     

       

         

         

       

     

     

       

         

       

     

   

   

 

Un tas ir viss, kas jums jādara. Tagad varat atvērt tīmekļa pārlūkprogrammu un pārbaudīt savu WCF RESTful pakalpojumu.

$config[zx-auto] not found$config[zx-overlay] not found