Skip to Main Content
Programming WCF Services
book

Programming WCF Services

by Juval Lowy
February 2007
Intermediate to advanced content levelIntermediate to advanced
634 pages
16h 1m
English
O'Reilly Media, Inc.
Content preview from Programming WCF Services

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 out of 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 IOrderManager
    {
       [OperationContract]
       void SetCustomerId(int customerId);
    
       [OperationContract(IsInitiating = false)]
       void AddItem(int itemId);
    
       [OperationContract(IsInitiating = false)]
       decimal GetTotal( );
    
       [OperationContract(IsOneWay = true,IsInitiating = false,IsTerminating =
    true)]
       void ProcessOrders( );
    }
  6. Name the callback contract on the service side after the service contract 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( ...
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, 3rd Edition

Programming WCF Services, 3rd Edition

Juval Lowy
Mastering ASP.NET Web API

Mastering ASP.NET Web API

Mithun Pattankar, Malendra Hurbuns

Publisher Resources

ISBN: 0596526997Supplemental ContentErrata Page