K
klem s
Yesterday I’ve started learning WCF and while I thought it would take
at least a week before I get utterly confused, it actually took only
two days … yay
1) WCF enables bidirectional communication through duplex service
contracts. Thus
with duplex operations client too must create an endpoint, so that
service is able to send messages back to the client
a) How then is with request-response operations service’s endpoint
able to send the result ( aka message ) of an operation back to the
client, without a client having to create an endpoint? Thus, how does
a service know where to send a reply?
b) thus don’t request-response operations also use bidirectional
communication?
c) anyways, why can’t with duplex operations service’s endpoint figure
out where to send reply the same way as with request-response
operations, thus without the client having to create an endpoint?
2) Depending on the binding used, WCF will create one or two channels
to implement duplex operations. Thus, protocols that support
bidirectional communication ( TCP ) will use only one channel, while
WCF will create an additional channel for protocols that don’t support
bidirectional communication ( HTTP )
a) Doesn’t HTTP usually run on top of TCP? If so, then why can’t it
support bidirectional communication?
b) I’ve also read that if WCF creates a second channel ( to implement
duplex operations ), then both protocols are symmetrical
Symmetrical how?
c) “With duplex operations unsolicited messages can be sent in either
direction”
I assume by “unsolicited messages” it is meant that receiver gets a
message which it didn’t explicitly requested? But:
* if client initiates a duplex operation, then in some way it has
requested a message, even though it doesn’t know when the message will
arrive or even how many messages will arrive!
* since communication is always initiated by the client, doesn’t that
mean that all messages received by the service are unsolicited?
3) Not sure how to ask this - I assume if instead of using duplex
contract we solve the problem of two way messaging by using a pair of
one-way contracts, then WCF isn’t really “aware” there is actually two
way messaging going on?
thank you
at least a week before I get utterly confused, it actually took only
two days … yay
1) WCF enables bidirectional communication through duplex service
contracts. Thus
with duplex operations client too must create an endpoint, so that
service is able to send messages back to the client
a) How then is with request-response operations service’s endpoint
able to send the result ( aka message ) of an operation back to the
client, without a client having to create an endpoint? Thus, how does
a service know where to send a reply?
b) thus don’t request-response operations also use bidirectional
communication?
c) anyways, why can’t with duplex operations service’s endpoint figure
out where to send reply the same way as with request-response
operations, thus without the client having to create an endpoint?
2) Depending on the binding used, WCF will create one or two channels
to implement duplex operations. Thus, protocols that support
bidirectional communication ( TCP ) will use only one channel, while
WCF will create an additional channel for protocols that don’t support
bidirectional communication ( HTTP )
a) Doesn’t HTTP usually run on top of TCP? If so, then why can’t it
support bidirectional communication?
b) I’ve also read that if WCF creates a second channel ( to implement
duplex operations ), then both protocols are symmetrical
Symmetrical how?
c) “With duplex operations unsolicited messages can be sent in either
direction”
I assume by “unsolicited messages” it is meant that receiver gets a
message which it didn’t explicitly requested? But:
* if client initiates a duplex operation, then in some way it has
requested a message, even though it doesn’t know when the message will
arrive or even how many messages will arrive!
* since communication is always initiated by the client, doesn’t that
mean that all messages received by the service are unsolicited?
3) Not sure how to ask this - I assume if instead of using duplex
contract we solve the problem of two way messaging by using a pair of
one-way contracts, then WCF isn’t really “aware” there is actually two
way messaging going on?
thank you