Errata

Programming WCF Services

Errata for Programming WCF Services

Submit your own errata for this product.

The errata list is a list of errors and their corrections that were found after the product was released.

The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.

Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update

Version Location Description Submitted by Date submitted
Printed, PDF Page xiv
1st paragraph of "How This Book Is Organized"

The sentence:
"The various concepts disused in this book transcend technologies."
should be:
"The various concepts discussed in this book transcend technologies."

Andrew Wyllie  Mar 19, 2016 
Other Digital Version ?
Preface / Conventions Used in This Book

In the Preface, under "Conventions Used in This Book" there is an example using Debug.Assert. I believe that there should be a double equals in the assert:

Debug.Assert( number ==3 ); // Book has single equals.

P.s. I apologise as I am not sure on the book format (I bought it from Amazon for the Kindle) and also, with the Kindle reader application I cannot see page numbers, so I do not know the exact page number.

Andrew Charlton  Mar 16, 2017 
Printed Page xiii
2nd paragraph

The last sentence in the second paragraph of the Preface is missing a period at the end of the sentence.

The sentence reads: "WCF was released in November 2006 as part of .NET 3.0"

The sentence should read: "WCF was released in November 2006 as part of .NET 3.0."

Tim  Apr 30, 2018 
Printed Page 23
Figure 1-4

There is a diagram (Figure 1-4) for choosing host based on Internet, autostart and IIS version. There should be [yes] and [no] options based on IIS version 7 (or later) to tell if you use WAS or other hosting.

In case the Internet [yes] and autostart [yes] it recommends Self hosted, but that is not what the text is saying.

The figure is confusing, incomplete and not matching the text recommendations, it should be fixed.

REMOVED  Aug 04, 2016 
Printed Page 35
1st paragraph

While Figure 1-8 is a perfectly valid configuration should be Figure 1-7.

REMOVED  Aug 05, 2016 
Other Digital Version 81
Example 1-23 The InProcFacrtory class - Get Address method

There appears to be a mismatch in the variable name:

Tuple<ServiceHost, EndPointAddress> record ;

...

hostRecord = m_Hosts[typeof(S)];

...

record = new Tuple<ServiceHost, EndpointAddress(...) ;

...

return hostRecord;

My understanding is that the intention is that record and hostRecord are meant to be one and the same variable.

Andrew Charlton  Mar 21, 2017 
Printed, ePub Page 173
2nd paragraph (starting with "This naïve use of the Dog contract...")

4th sentence:
"Similarly, IDog is also poorly factored as it has members required only by IPet."
should be
"Similarly, Dog is also poorly factored as it has members required only by IPet."

IDog is the service contract that had just been segregated from the new IPet service contract. At this point in the text, both use a Dog data contract which has members pertaining to both service contracts.

Greg Fiske  Jun 06, 2019 
Other Digital Version 300
Just under example 6-2

The text states "Instead of FaultException<DivideByZeroException>, the service could also have thrown a non-Exception-derived class... However, I find that using an Exception-derived detailing type is more in line with conventional .NET programming..."

I think a bit of clarification is needed here. I tried creating my own exception class (derived from Exception) and tried throwing an instance of it:

MyException E = new MyException() ;
throw new FaultException<MyException> (E) ;

However on the client side I cannot catch this as a FaultException<MyException>, but as a CommunicationException. The strange thing is that as soon as I make my MyException class not to be derived from Exception ( class MyException {...}), on the client side I can catch the exception as a FaultException<MyException>.

Is it possible to use user defined Exception derived classes with FaultException<T> and if so, how?

Andrew Charlton  Apr 11, 2017 
Printed Page 716
1st full paragraph

The last sentence of the first full paragraph is a fragment (dependent clause with no independent clause).

"From command line PowerShell scripts for automation to programmatic control through fully capable REST and C# APIs to automated operations via the Azure Management Portal or Visual Studio."

Perhaps this was meant to be part of the previous sentence?

Tim  May 21, 2018 
Printed Page 720
Full paragraph

The last sentence of the only full paragraph uses the word "you" instead of "your".

Currently reads:

"As shown in Example 11-1, the application manifest file can import a service manifest by referencing its package name, and you can provide application-specific deployment configuration for you service by referencing its type."

Should read:

"As shown in Example 11-1, the application manifest file can import a service manifest by referencing its package name, and you can provide application-specific deployment configuration for your service by referencing its type."

Tim  May 21, 2018 
Printed Page 721
Figure 11-7

Figure 11-7 lists a file named "ApplicationManifext.xml", which is intended to be named "ApplicationManifest.xml".

Tim  May 21, 2018 
Printed Page 730
Last paragraph

The last sentence on the page misspells "programming" on the third occurrence of the word in the sentence:

"Service Fabric provides two programming models for Intranet services: the default service programming model and the WCF programing model."

Tim  May 21, 2018 
Printed Page 734
2nd paragraph

4th sentence uses the word "Internet" instead of "Intranet".

Currently reads:

"Think of Internet services as directors of a play, and the Reliable Actors as the actors in it."

Should read:

"Think of Intranet services as directors of a play, and the Reliable Actors as the actors in it."

Tim  May 21, 2018 
Printed Page 884
6th paragraph

Figure D-1 ("A publish-subscribe system") is referenced and has a section for it, but the figure itself is entirely missing.

Christian McCarty  Apr 05, 2019