What should I know when developing interoperable WCF web service?

后端 未结 3 1179
北海茫月
北海茫月 2020-12-15 13:35

I\'m starting this Wiki to collect best practices about creating interoperable web services (not clients) in WCF. Please share your experience if you know any feature which

相关标签:
3条回答
  • 2020-12-15 14:23

    General interoperability:

    • Only HTTP and HTTPS transport channels are interoperable
    • Negotiation of security credentials is not interoperable (negotiateServiceCredential in message security). It uses TLSNego or SPNego protocols which are not always supported by other platforms.
    • HTTP streaming can cause troubles as well
    • Binary encoding over HTTP channel is not interoperable
    • OleTransactions are not interoperable
    • Use service security context with care (estabilishSecurityContext in message security). It uses WS-Secure Conversation protocol which is not available on some platforms

    Edit:

    • WSDualHttpBinding and CompositeDuplexBindingElement are not interoperable
    0 讨论(0)
  • 2020-12-15 14:30

    Fairly simple:

    • avoid any .NET specifics like Exceptions (turn them into SOAP faults)

    • don't use any binding that start with net like netTcp, netNamedPipes, netMsmq and so forth - use wsHttpBinding for secure WS-* services, and basicHttpBinding for maximum reach / compatibility with even the weirdest client platforms

    • don't use the NetDataContractSerializer

    0 讨论(0)
  • 2020-12-15 14:32

    I recommend WCF REST exposing multiple serialization formats, definitely xml for starters.

    0 讨论(0)
提交回复
热议问题