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. If the error was corrected in a later version or reprint the date of the correction will be displayed in the column titled "Date Corrected".

The following errata were submitted by our customers and approved as valid errors by the author or editor.

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

Version Location Description Submitted By Date submitted Date corrected
Printed
Page 6

We can reword the Peer Network Address section to read:

Peer Network Address

Peer network addresses use net.p2p for transport, to indicate the use of the
Windows peer network transport. When not using a resolver, you must specify
the peer network name as well as a unique path and port. Using and
configuring peer networks is beyond the scope of this book, and you will see
very little mention of peer networks in subsequent chapters.

Anonymous   
Printed
Page 11
-3

the Widows Activation Service (WAS)
->
the Windows Activation Service (WAS)

########################################

Anonymous    Mar 01, 2007
Printed
Page 11
1st paragraph

Widows Activation Service (WAS)
should be
Windows Activation Service (WAS)

Anonymous   
Printed
Page 12
+1

The .svc file functions similar to an .asmx file
->
The .svc file functions similarly to an .asmx file

########################################

Anonymous    Mar 01, 2007
Printed
Page 28
5

public class KeyedByTypeCollection<I> : KeyedCollection<Type,I>
{
public T Find<T>()
T is not defined, though there is a Type above, which should be T

Note from the Author or Editor:
thanks.

Anonymous   
Printed
Page 31
Example 1-12

The example is missing the <services> tag at the begining and
</services> tag just before the <behaviors> tag.

Anonymous   
Printed
Page 46
example 1-22

change
static readonly Uri BaseAddress = new Uri("net.pipe://localhost/");
to
static readonly Uri BaseAddress = new Uri("net.pipe://localhost/" + Guid.NewGuid().ToString());

Anonymous   
Printed
Page 56
Last sentence of the first paragraph.

"how to interact programmatically at run runtime with the metadata..."
should be:
"how to interact programmatically at runtime with the metadata..."

Anonymous   
Printed
Page 74
Example 2-10, line 3

"where B : Binding" removed from line

########################################

Anonymous    Apr 01, 2007
Printed
Page 85
3rd paragraph

the last sentence used the word "important" when it appears that "imported" was intended

Anonymous   
Printed
Page 115
1st paragraph

guaranties for guarantees:

In addition, there are no guaranties...
Should read:
In addition, there are no guarantees...

Anonymous   
Printed
Page 153
Comment in middle of the page

Comment reads:
//Outoput
Should read:
//Output

Anonymous   
Printed
Page 166
In example 4-11, when the overrideConfig argument is true and a

throttling behaviour is already present, the existing behaviour will be
removed but not replaced (because the null reference condition will not
be satisfied).
Here is the correct code:

public void SetThrottle(ServiceThrottlingBehavior serviceThrottle,
bool overrideConfig)
{
if(State == CommunicationState.Opened)
{
throw new InvalidOperationException("Host is already opened");
}
ServiceThrottlingBehavior throttle =
Description.Behaviors.Find<ServiceThrottlingBehavior>();
if(throttle == null)
{
Description.Behaviors.Add(serviceThrottle);
return;
}
if(overrideConfig == false)
{
return;
}
Description.Behaviors.Remove(throttle);
Description.Behaviors.Add(serviceThrottle);
}

Anonymous   
Printed
Page 193
Code at bottom of the page

bindingConfiguration = "ClienCallback"
Should read:
bindingConfiguration = "ClientCallback"

Anonymous   
Printed
Page 197
Last paragraph

While events in WCF are noting more...
Should read:
While events in WCF are nothing more...

Anonymous   
Printed
Page 203
first line

TransferMode Boolean property
Should be
TransferMode Enum property

Anonymous   
Printed
Page 204
1st code snippet

Inside the comment in the code snippet for the BasicHttpBinding class, the word "members" is
misspelled:

Is:

//More memebrs

Should be:

//More members

Anonymous   
Printed
Page 223

interface IMyContract
->

[ServiceContract]
interface IMyContract

########################################

Anonymous    Apr 01, 2007
Printed
Page 232
Code in the first half of the page

SerivceHost<MyService> host ...
Should read:
ServiceHost<MyService> host ...

The typo appears four times.

Anonymous   
Printed
Page 268
Last paragraph

The paragraph reads:
It is very imporant when using TransactionScopeRequired is set to true to avoid catching and
handling exceptions and explicitly voiding to abort.

Shouldn't this read:
It is very imporant when using TransactionAutoComplete is set to true to avoid catching and
handling exceptions and explicitly voiding to abort.

Note from the Author or Editor:
Thanks.

Anonymous   
Printed
Page 318
first paragraph, multiple occasions

ConcurrencyMode.Mutiple should be ConcurrencyMode.Multiple

Anonymous   
Printed
Page 325
2nd paragraph, and in the note in the middle of the page

ConcurrencyMode.Mutiple should be ConcurrencyMode.Multiple

Anonymous   
Printed
Page 326
Paragraph after figure 8.3

In for If.

If the figure, Instance A...
Should read:
In the figure, Instance A...

Anonymous   
Printed
Page 348
Last paragraph, line third and second to last

As long as long there are...
Should read:
As long as there are...

Anonymous   
Printed
Page 369
1st paragraph of the Asynchronous Invocation section

[ServiceOperation] should be [OperationContract]
also
[ServiceOperation(...)] should be [OperationContract(...)]

Anonymous   
Printed
Page 461
1st and 2nd paragraphs

First paragraph -

"The Transfer property should...."

should be

"The ClientCredentialType property should..."

Second paragraph -

"The Transfer property should have the..."

should be

"The ProtectionLevel property should have the..."

Anonymous   
Printed
Page 578
Code at the bottom of the page

public void on Callabck()
Should read:
public void on Callback()

Anonymous