Beginners WCF Vraag - verbruiksartikelen asynchrone diensten

stemmen
4

dit is een meer kan worden gedaan in plaats van een hoe is het gedaan vraag. Ik ben op zoek naar het bouwen van een dienst (middle-tier, .net, het verstrekken van gegevens abstractie en een aantal zakelijke logica) die door meerdere interne klant systemen zullen worden gebruikt op verschillende platforms. Bijvoorbeeld één cliënt kan een website, een andere cliënt een aantal Java-code, een andere cliënt C #, etc. zijn

Ik wil een synchrone en asynchrone API te geven in mijn dienst, bijvoorbeeld GetData, BeginGetData, EndGetData methoden. Ik wil ook klanten te kunnen registreren voor meldingen van nieuwe data wordt toegevoegd aan het systeem. In het verleden heb ik voerde dit met behulp van web services met een Tibco EMS kanaal voor de meldingen.

Mijn vraag is: Kan ik het bereiken van de drie eisen (synch, asynch, en pub / sub) door het blootstellen van een WCF-service? Kan deze dienst door geconsumeerd door niet WCF klanten?

Excuseer de vaagheid van deze vraag - ik kan werken als dat nodig is.

Bij voorbaat bedankt.

De vraag is gesteld op 09/12/2008 om 17:34
bron van user
In andere talen...                            


2 antwoorden

stemmen
3

Werkwijzen synchroon standaard. Om ze te maken asynch, moet je dit attribuut [OperationContract (AsyncPattern = true)] toe te voegen en terug te keren een IAsynchResult, net zoals je zou doen als je BeginIvoke () deden met winforms. (lees hier meer http://msdn.microsoft.com/en-us/library/ms734701.aspx )

U kunt dit doen publish / subscribe met zoiets als een Terugbellen Contract (hoewel im niet zeker over de uitvoering van deze in andere platforms) Ik heb niet veel ervaring met deze, maar ze lijken niet enorm Complete technologische (u kunt hier meer lezen http: //dotnetaddict.dotnetdevelopersjournal.com/wcf_alarmclock.htm )

antwoordde op 09/12/2008 om 19:25
bron van user

stemmen
2

Het opzetten van asynchrone bewerkingen op de WCF-service kan worden gedaan als Ninja geplaatst door het instellen van AsyncPattern = true of het kan worden gedaan op de client side by svcutil vertellen aan de asynchrone eindpunten te genereren door het instellen van de juiste command line argument of door het vakje "Generate asynchrone operaties" optie in de GUI-versie van svcutil. Genereren asynchrone nog steeds genereren synchrone bewerkingen ook.

Het probleem met de optie client asynchrone is dat je nodig hebt om de code te dupliceren in Java. Svcutil doet export VB of C # code in die u opgeeft, zodat je kon zeer waarschijnlijk vertalen van de C # code om Java zonder al te veel werk.

Voor Pub / Sub, client callbacks zijn hoe u wilt bedienen. Ik gebruik ze en ze werken erg goed. Op het hoogste niveau, ze zijn .Net Remoting en gebruik eventing om de gegevens door te geven aan de klant (mijn begrip). Ik kan niet bevestigen dat dit zou kunnen worden gebruikt cross-platform, maar het zou moeten zijn met wat werk.

antwoordde op 10/12/2008 om 16:47
bron van user

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more