Avatar billede TMO14 Nybegynder
14. december 2009 - 15:27 Der er 1 kommentar

WCF basic

Jeg har en wcf service application og en klient udviklet i Visual Studio 8 på samme fysiske maskine. Til både klient og service er der udviklet diverse NUNIT tests.

jeg forstår ikke hvordan klient tests kan afvikles uden at jeg kan se servicen i IIS eller andre steder. Skal den ikke startes? og hvordan gør man det? Hvad med endpoints og servicereferencer? hvordan opdateres de?

Gode svar er i høj kurs
Avatar billede powerpunk Nybegynder
17. december 2009 - 13:07 #1
WCF services kan også være "Self-hosting"

i System.ServiceModel findes en klasse der hedder ServiceHost.

Jeg har et tilsvarende setup (omend i VS9.0 og med MSTEST), hvor jeg gør noget i denne retning:

---

var serviceInstance = // TODO: Opret en instans af servicen.
var serviceHost = new ServiceHost(serviceInstance);

// Initialisér et endpoint
var endpointContract = // TODO: angiv servicekontrakt.
var endpointBinding = // TODO: angiv binding.
var endpointUri = // TODO: Angiv URI for endpoint'et.

serviceHost.AddServiceEndpoint(endpointContract, endpointBinding, endpointUri);

// Start servicen
m_ServiceHost.Open();

---

Generelt synes jeg ikke at jeg har så gode erfaringer med service referencer i den type projekter. Service referencer er efter min mening mest gearet til tilfælde, hvor du gerne vil kode op imod en eksisterende service, som du ikke selv ligger inde med kontrakten til - det sådan en reference gør er jo hovedsaglig bare at generere kode ud fra service interfacet. Den samme kode som du skrev da du lavede servicen... Hvis du selv har lavet både klient og server, synes jeg faktisk det er smartere at lægge de delte kontraktinterfaces i en delt assembly og så referere den fra hhv. server og klientprojektet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester