lørdag, januar 23, 2021

WCF og faulted channels?

Daily Rush Debat Programmering WCF og faulted channels?

  • Forfatter
    Emne
  • #0

    Festival_H
    Bruger
    4.630 indlæg
    Offline

    Jeg sidder og arbejder med noget WCF lige i øjeblikket.

    Sagen er den at jeg har en service som kører LocalSystem. For hver eneste bruger der er logget på en maskine laver jeg en process i denne bruger context. BrugerContexten skal så snakke sammen med LocalSystem processen via WCF der er implementeret med en Duples binding så klienten har en callback med således servicen kan registrere alle klienterne og sende beskeder til dem hvis den skulle have lyst til det. Klassisk Publisher/Subscriber pattern.

    Som sådan kører mit kode. Servicen kan kalde funktioner på clienten og clienten kan kalde funktioner på servicen.

    Dog sker der engang imellem at min Channel går i en Faulted state og jeg har ingen anelse om hvordan jeg kan strukturere mit kode så det kan overleve og genetablere en connection når der igen skal snakkes sammen.

    Har du leget med WCF og Callback med en Duplex kanal og håndteret Faulted states??

    Og husk nu: densutterjoikksigselv.dk

Viser 6 kommentarer - 1 til 6 (af 6 i alt)
  • Forfatter
    Kommentarer
  • #1

    Belwas
    Bruger
    450 indlæg
    Offline
    #2

    Festival_H
    Bruger
    4.630 indlæg
    Offline

    #1 Så du ved heller ikke noget om det?

    Og husk nu: densutterjoikksigselv.dk

    #3

    Belwas
    Bruger
    450 indlæg
    Offline

    Jeg synes det virker rimelig klart fra dokumentationen (og teknologien generelt) at fault states kan ske, og at måden man recover er ved at genetablere en ny forbindelse. Det gør du vel på præcis samme måde som du etablerer den første gang.

    Bare husk oprydning af den gamle, så du ikke har hængende forbindelser og memory leaks.

    3. hit på google var et eksempel projekt. Er sikker på der findes andre.

    Mit svar gik mere på at det er mærkeligt at spørge om noget på et gaming forum som man kan google sig til. Hvis du ikke kan finde svar ud fra det skal du have hjælp fra nogen der har mulighed og tid til at kigge på din kode og se hvad du gør galt.

    #4

    Festival_H
    Bruger
    4.630 indlæg
    Offline

    Men har du arbejdet med det selv?

    Jeg har siddet de sidste par dage og prøvet at finde et eller andet praktisk design af en art og de fleste skriver at man kan abonner på en Closed og en Failted event på hhv på selve listener servicen og på den kanal man opretter på klienten, men disse events blir aldrig kaldt på hverken min service eller klient selv om jeg prøver at dræbe hhv clienten eller servicen for provokere koden til at fejle.

    Jeg kan naturligvis pakke hver eneste kald mellem de 2 ind i diverse try/catch, men det synes jeg er lidt trals og det smadre control flow i koden. Jeg har også været forbi og lavet dumme KeepAlive funktioner på hhv service og klient, men det lyder som om de på nettet der synes at vide noget om det ikke anbefaler at man laver KeepAlive kode.

    Jeg har søgt, men endnu ikke fundet de guldkort jeg skulle bruge og fordi der ofte bland gamer også er udviklere så kunne det jo tænkes at der var en eller anden WCF ekspert i bland os.

    Og husk nu: densutterjoikksigselv.dk

    #5

    CrackMaND
    Bruger
    1.078 indlæg
    Offline

    Som udvikler ville mit første sted (udover google) nok være at smide spørgsmålet på stackoverflow med kode eksempel.

    Sandsynligheden for et godt svar er noget større der.

    May the source be with you

    #6

    Uranos
    Bruger
    2.240 indlæg
    Offline

    Ikke at jeg har forstand på det, til jeg da lige give et skud til de andre.
    Det er da lækkert gam gider spørge her inde først, hvis alle gik til det største forum på nettet for det topic de skrev om.så ville DR hurtigt gå død.
    En anbefaling er fin men gør det lige med et glad smil og ikke et nedladende som jeg fornemmer i hvert fald#3 gør

    Alle har deres særheder,,

Viser 6 kommentarer - 1 til 6 (af 6 i alt)
  • Du skal være logget ind for at kommentere på dette indlæg.