Vra

Ek is die bou van 'n Winforms toepassing waar ek sal dit nodig het om "plaaslik" werk (net soos Microsoft Word, spaar en die opening van lêers van die lêer stelsel) en ook in 'n multi-gebruiker omgewing (kommunikasie met 'n bediener in die netwerk, via TCP / IP).

In terme van argitektuur ek dink van hierdie logiese lae:

  • Aanbieding (vensters vorms)
  • Service
  • Data Access

My plan is om die "Service" laag 'n BWF diens gebruik te maak. So wanneer die aansoek is besig om in 'n plaaslike "modus, sou ek die BWF diens in die aanbieding (uitvoerbare) proses aan te bied. Aanbieding sal 'n diens te bied en 'n kliënt op dieselfde tyd wees. Dit sou toegang tot die diens laag met behulp van 'n WCF volmag, wat verwys na "localhost".

Wanneer die aansoek is in 'n netwerk omgewing, wil ek graag dieselfde BWF diens aan te bied in 'n "Windows / NT Service" proses in 'n ander masjien, en Voorlegging sal daarmee met behulp van dieselfde WCF volmag as in plaaslike kommunikeer modus.

Dit is, vir voorlegging Ek sou net een API het.

In teorie lyk dit goed. Maar ek wil graag jou mening oor hierdie hele ding weet. Is dit 'n slegte praktyk te WCF gebruik op hierdie manier, met bediener en die kliënt in dieselfde proses? Kan jy sien 'n alternatiewe / beter manier om dit te doen?

Nog 'n (dalk verwante) vraag is:? Ek kan huisves en verteer 'n BWF diens in dieselfde Windows Vorms uitvoerbare as ek tagetting die NET Framework kliëntprofiel installasie

Ek waardeer jou kommentaar)

Was dit nuttig?

Oplossing

Ek sou sê dit is nie slegte praktyk glad te server en kliënt aan te bied in dieselfde proses - dit is bekend as inter-proses kommunikasie! : -)

Vir die plaaslike scenario, sou ek die NetNamedPipe gebruik bindend -. Vinnig soos die hel, vir net "on-masjien" kommunikasie

Vir die LAN scenario, net oor te skakel na NetTcpBinding - baie vinnig en doeltreffend sowel

.

Indien werk soos 'n bom.

Volgens hierdie bladsy op die NET Framework kliëntprofiel , pretty much al WCF moet ondersteun op die kliënt profiel:

  

WCF funksies ondersteun deur die Net   Raamwerk kliëntprofiel

     

Die volgende Windows Kommunikasie   Stigting funksies word ondersteun deur   NET Framework kliëntprofiel:

* All of WCF is supported except for Cardspace and web hosting.
* Remoting TCP/IP channels are supported.
* Asmx (Web Services) are not supported.

Marc

Gelisensieer onder: CC-BY-SA met toeskrywing
Nie verbonde aan StackOverflow
scroll top