Skip to Content
Programming WCF Services, 2nd Edition
book

Programming WCF Services, 2nd Edition

by Juval Lowy
November 2008
Intermediate to advanced
784 pages
23h 28m
English
O'Reilly Media, Inc.
Content preview from Programming WCF Services, 2nd Edition

Operations and Calls

  1. Do not treat one-way calls as asynchronous calls.

  2. Do not treat one-way calls as concurrent calls.

  3. Expect exceptions from a one-way operation.

  4. Enable reliability even on one-way calls. Use of ordered delivery is optional for one-way calls.

  5. Avoid one-way operations on a sessionful service. If used, make it the terminating operation:

    [ServiceContract(SessionMode = SessionMode.Required)]
    interface IMyContract
    {
       [OperationContract]
       void MyMethod1(  );
    
       [OperationContract(IsOneWay = true,IsInitiating = false,IsTerminating =
    true)]
       void MyMethod2(  );
    }
  6. Name the callback contract on the service side after the service contract name, suffixed by Callback:

    interface IMyContractCallback
    {...}
    [ServiceContract(CallbackContract = typeof(IMyContractCallback))]
    interface IMyContract
    {...}
  7. Strive to mark callback operations as one-way.

  8. Use callback contracts for callbacks only.

  9. Avoid mixing regular callbacks and events on the same callback contract.

  10. Event operations should be well designed:

    1. void return type

    2. No out-parameters

    3. Marked as one-way operations

  11. Avoid using raw callback contracts for event management, and prefer using the publish-subscribe framework.

  12. Always provide explicit methods for callback setup and teardown:

    [ServiceContract(CallbackContract = typeof(IMyContractCallback))]
    interface IMyContract
    {
       [OperationContract]
       void DoSomething(  );
    
       [OperationContract]
       void Connect(  );
    
       [OperationContract]
       void Disconnect(  );
    }
    interface IMyContractCallback
    {...}
  13. Use the type-safe DuplexClientBase<T,C> ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Start your free trial

You might also like

Programming WCF Services

Programming WCF Services

Juval Lowy

Publisher Resources

ISBN: 9780596157210Supplemental ContentErrata