Errata


Print Print Icon

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 "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



Version Location Description Submitted By Corrected
Printed Page xviii
Third paragraph, first line

Deleted the word 2005 after Visual Studio.

Anonymous  Aug 2008
Printed Page xviii
"Under System Requirements," first bulleted item

Changed this bullet to:

Windows XP with SP2 or higher, Windows Vista, Windows Server 2003
or Windows Server 2008 with IIS and MSMQ enabled

Anonymous  Aug 2008
Printed Page xviii
"Under System Requirements," third bulleted item

After Microsoft Visual Studio, changed the word 2005 to 2008.

Anonymous  Aug 2008
Printed Page xviii
Under "System Requirements," fourth bulleted item

Changed:
"This is preinstalled with Vista."
to
"This is installed with Visual Studio 2008."

Anonymous  Aug 2008
Printed Page xviii
"Under System Requirements," fifth bulleted item

Deleted the rest of this line from: "and .NET 3.0 Runtime Components (Windows SDK for .NET 3.0)"

Anonymous  Aug 2008
Printed Page xviii
Under "System Requirements"

Deleted the sixth bulleted item:

Anonymous  Aug 2008
Other Digital Version xviii
Third paragraph, first line

Deleted the word 2005 after Visual Studio.

Anonymous  Aug 2008
Other Digital Version xviii
"Under System Requirements," first bulleted item

Changed this bullet to:

Windows XP with SP2 or higher, Windows Vista, Windows Server 2003
or Windows Server 2008 with IIS and MSMQ enabled

Anonymous  Aug 2008
Other Digital Version xviii
"Under System Requirements," third bulleted item

After Microsoft Visual Studio, changed the word 2005 to 2008.

Anonymous  Aug 2008
Other Digital Version xviii
Under "System Requirements," fourth bulleted item

Changed:
"This is preinstalled with Vista."
to
"This is installed with Visual Studio 2008."

Anonymous  Aug 2008
Other Digital Version xviii
"Under System Requirements," fifth bulleted item

Deleted the rest of this line from: "and .NET 3.0 Runtime Components (Windows SDK for .NET 3.0)"

Anonymous  Aug 2008
Other Digital Version xviii
Under "System Requirements"

Deleted the sixth bulleted item.

Anonymous  Aug 2008
Safari Books Online 1-4
Example 1-4

Change

// HelloIndigo Project - Service.cs[ServiceContract(Namespace =

Note from the Author or Editor:
Confirmed for the online version. Unsure if this is an issue in the latest printed version May 09.

Richard DesLonde 
Safari Books Online 1.6.1.2
step 4

The whole section mentioned below under step number 4 is wrong...


<behavior name="returnFaults">
<serviceDebug includeExceptionDetailInFaults="false"/>
<serviceMetadatahttpGetEnabled="true"/>
</behavior>

The book should have it as thus...

<behavior name="serviceBehavior">
<serviceDebug includeExceptionDetailInFaults="false"/>
<serviceMetadata httpGetEnabled="true"/>
</behavior>

Note from the Author or Editor:
This is errata not in Safari online AND also in the printed revision from August 2008. This was something that was listed in the errata before the August reprint so we should check ALL errata submitted for that reprint to be sure that all fixes have been made.

Anonymous 
Safari Books Online 1.7.1.2
Example 1-20

if (hostA.State == CommunicationState.Faulted)
hostA.CloseAbort();
else
hostA.Close();

Should be:
if (hostA.State == CommunicationState.Faulted)
hostA.Abort();
else
hostA.Close();

Note from the Author or Editor:
Confirmed as errata for Safari Online version of the book.

Baron Schaaf 
Safari Books Online 1.7.7.
Example 1-28

Missing open bracket

private void CloseProxy(ICommunicationObject proxy)
{
if (proxy != null)
if (proxy.State == CommunicationState.Faulted)
proxy.Abort();
else
proxy.Close();
}
}

should be

private void CloseProxy(ICommunicationObject proxy)
{
if (proxy != null)
{
if (proxy.State == CommunicationState.Faulted)
proxy.Abort();
else
proxy.Close();
}
}

Note from the Author or Editor:
Confirme as errata in Safari Online.
Section 1.7.1.3
Example 1-24

Baron Schaaf 
Printed Page 2
2nd paragraph

The word 'principals' is used for 'principles.' There's another reported usage on pp 3.

Note from the Author or Editor:
This was fixed in August 2008 reprint.

Anonymous  Aug 2008
Printed Page 12
1st paragraph, sentence 2

Typo.

"with one anotehr to access"

Anonymous  Aug 2008
Other Digital Version 12
1st paragraph, sentence 2

Typo.

"with one anotehr to access"

Anonymous  Aug 2008
Printed Page 29
tip

Typo.

"addressing makes is possible"

is => it

Anonymous  Aug 2008
Other Digital Version 29
tip

Typo.

"addressing makes is possible"

is => it

Anonymous  Aug 2008
Printed Page 32
Under "Using the WCF Service Template," first paragraph, last line

Deleted this sentence: "Since you will be adding the WCF Service to an executable project (the
host) the template will also generate some code for hosting the service."

Anonymous  Aug 2008
Printed Page 32
#4

"Open IHelloIndigoService.cs and..." now reads "Open HelloIndigoService.cs and..."

Anonymous  Aug 2008
Printed Page 32
#5

"Open Program.cs and add code to host the new Main() entry point..." now reads "Open Program.cs and add code to the Main() entry point..."

Anonymous  Aug 2008
Other Digital Version 32
Under "Using the WCF Service Template," first paragraph, last line

Deleted this sentence: "Since you will be adding the WCF Service to an executable project (the
host) the template will also generate some code for hosting the service."

Anonymous  Aug 2008
Other Digital Version 32
#4

"Open IHelloIndigoService.cs and..." now reads "Open HelloIndigoService.cs and..."

Anonymous  Aug 2008
Other Digital Version 32
#5

"Open Program.cs and add code to host the new Main() entry point..." now reads "Open Program.cs and add code to the Main() entry point..."

Anonymous  Aug 2008
Printed Page 36
#5

Paragraph ends with "select IMetadataExchange" -- there is no way to select this value, the user must type it.

Note from the Author or Editor:
From the August 2008 Reprint, Page 36, #6:

Change: "select IMetadataExchange"

To: "type IMetadataExchange"

Anonymous  May 2009
Printed Page 38
Creating a WCF Service Library, #2

The instructions seem to be really messed up:
====================
Rename Service1.cs and HelloIndigoService.cs and Service1.cs to IHelloIndigoService.cs and HelloIndigoService.cs, respectively.

I assmume that the following is what is intended:
====================
Rename IService1.cs and Service1.cs to IHelloIndigoService.cs and HelloIndigoService.cs, respectively.

Note from the Author or Editor:
Page 38, #2 reads:

"Rename Service1.cs and HelloIndigoService.cs and IService1.cs to IHelloIndigoService.cs and HelloIndigoService.cs, respectively."

A previous errata update was obviously poorly applied. It should read:

"Rename Service1.cs and IService1.cs to HelloIndigoService.cs and IHelloIndigoService.cs, respectively."

Anonymous 
Printed Page 39
#8

In the code block, "host=..." host is now in all lower case.

Anonymous  Aug 2008
Other Digital Version 39
#8

In the code block, "host=..." host is now in all lower case.

Anonymous  Aug 2008
Printed Page 40
#2, third through fifth line

Current Errata Item:
====================
- Printed
- Page 40 #2, third through fifth line
- Right-click Reference.svcmap and select “Include in
Project.” Right-click localhost.map beneath Service Referenceslocalhost and select “Exclude from Project.”

now reads:

Right-click serviceproxy.cs and select “Include in Project.” Right-click localhostReference.svcmap beneath
Service Referenceslocalhost and select “Exclude from Project.”

============================
Should Read... (note that

Note from the Author or Editor:
#2, line 4
"localhostreference.svcmap" should be
"Reference.svcmap"

Anonymous 
Printed Page 40
#2, second paragraph.

From #2, second paragraph:
=============

Note from the Author or Editor:
Confirmed error in the 2009 reprint.

using (HelloIndigoServiceClient proxy = new HelloIndigoServiceClient( ))

should be changed to

HelloIndigoServiceClient proxy = new HelloIndigoServiceClient( );

Anonymous 
Printed Page 40
#2, third through fifth line

Right-click Reference.svcmap and select “Include in
Project.” Right-click localhost.map beneath Service Referenceslocalhost and select
“Exclude from Project.”

now reads:

Right-click serviceproxy.cs and select “Include in Project.” Right-click localhostReference.svcmap beneath
Service Referenceslocalhost and select “Exclude from Project.”

Anonymous  Aug 2008
Other Digital Version 40
#2, third through fifth line

Right-click serviceproxy.cs and select “Include in
Project.” Right-click localhost.map beneath Service References and select
“Exclude from Project.”

now reads:

Right-click serviceproxy.cs and select “Include in Project.” Right-click localhostReference.svcmap beneath
Service Referenceslocalhost and select “Exclude from Project.”

Anonymous  Aug 2008
Safari Books Online 68
Code sample

Code sample in Safari Books Online, section 1.7. Exposing Multiple Service Endpoints contains following code snippet:

if (hostA.State == CommunicationState.Faulted)
hostA.CloseAbort();
else
hostA.Close();

While PDF of chapter 1 (http://www.thatindigogirl.com/ct.ashx?id=16e675d7-3c16-4e0a-87c9-c330d88d985f&url=http%3a%2f%2fwww.thatindigogirl.com%2fdownloads%2fLearningWCFChapter01VS2008.pdf) contains the correct code:

if (hostA.State == CommunicationState.Faulted)
hostA.Abort( );
else
hostA.Close();

Note from the Author or Editor:
Fixed in the August 2008 reprint. THis reader may have copy of the original print.

Brendan Grant  Aug 2008
Printed Page 91
Under item number six, last line

Changed:
"localhost.map"
to:
"localhost"

Changed:
"localhost.cs"
to:
"Reference.cs"

Anonymous  Aug 2008
Printed Page 91
Under item number eight, second line

Changed:
"localhost.map"
to:
"localhost"

Anonymous  Aug 2008
Printed Page 91
Under item number eight, second-third lines

Changed to:
"Now run the Host without debugging and generate a new proxy for WinClient."

Anonymous  Aug 2008
Printed Page 91
Under item number eight, fourth-fifth lines

Changed:
"and accepting localhost as the reference name"
to:
"and setting the namespace to localhost."

Anonymous  Aug 2008
Printed Page 91
Third line from the bottom

Changed:
"localhost.map"
to:
"localhost"

Anonymous  Aug 2008
Other Digital Version 91
Under item number six, last line

Changed:
"localhost.map"
to:
"localhost"

Changed:
"localhost.cs"
to:
"Reference.cs"

Anonymous  Aug 2008
Other Digital Version 91
Under item number eight, second line

Changed:
"localhost.map"
to:
"localhost"

Anonymous  Aug 2008
Other Digital Version 91
Under item number eight, second-third lines

Changed to:
"Now run the Host without debugging and generate a new proxy for WinClient."

Anonymous  Aug 2008
Other Digital Version 91
Under item number eight, fourth-fifth lines

Changed:
"and accepting localhost as the reference name"
to:
"and setting the namespace to localhost."

Anonymous  Aug 2008
Other Digital Version 91
Third line from the bottom

Changed:
"localhost.map"
to:
"localhost"

Anonymous  Aug 2008
Printed Page 108
Note at the bottom of the page, third-fourth lines

Changed:
"introduce" incompatibilities
to:
"cause" incompatibilities

Anonymous  Aug 2008
Other Digital Version 108
Note at the bottom of the page, third-fourth lines

Changed:
"introduce" incompatibilities
to:
"cause" incompatibilities

Anonymous  Aug 2008
Printed Page 109
Under "Customizing data contract serialization," item number 2, first line

Changed:
"run it once again."
to:
"run it without debugging."

Anonymous  Aug 2008
Other Digital Version 109
Under "Customizing data contract serialization," item number 2, first line

Changed:
"run it once again."
to:
"run it without debugging."

Anonymous  Aug 2008
Printed Page 110
Under "Consuming data contracts at the client," item number 1, third line

Changed:
"the reference name"
to:
"the namespace"

Anonymous  Aug 2008
Other Digital Version 110
Under "Consuming data contracts at the client," item number 1, third line

Changed:
"the reference name"
to:
"the namespace"

Anonymous  Aug 2008
Printed Page 120
Note at top of page, second line

Changed:
"ObservableCollection"
to:
"CollectionDataContract"

Anonymous  Aug 2008
Other Digital Version 120
Note at top of page, second line

Changed:
"ObservableCollection"
to:
"CollectionDataContract"

Anonymous  Aug 2008
Printed Page 125
In the middle of the page, the paragraph that starts with "When this behavior..."

After code block and before that paragraph inserted the following:

This behavior can also be set declaratively on the service type:

[ServiceBehavior(IgnoreExtensionDataObject=true)]

Anonymous  Aug 2008
Printed Page 125
In the middle of the page, the paragraph that starts with "When this behavior...," fourth line

Chaned
"from being processed"
to
"from being processed at the service."

Anonymous  Aug 2008
Printed Page 125
Note in the middle of the page, first line

Changed:
"this feature"
to:
"IExtensibleDataObject"

Anonymous  Aug 2008
Other Digital Version 125
In the middle of the page, the paragraph that starts with "When this behavior..."

After code block and before that paragraph inserted the following:

This behavior can also be set declaratively on the service type:

[ServiceBehavior(IgnoreExtensionDataObject=true)]

Anonymous  Aug 2008
Other Digital Version 125
In the middle of the page, the paragraph that starts with "When this behavior...," fourth line

Chaned
"from being processed"
to
"from being processed at the service."

Anonymous  Aug 2008
Other Digital Version 125
Note in the middle of the page, first line

Changed:
"this feature"
to:
"IExtensibleDataObject"

Anonymous  Aug 2008
Printed Page 132
Under "Using proxies and message contracts," first item, fourth line

Changed:
"reference name as localhost."
to:
"namespace as localhost."

Anonymous  Aug 2008
Other Digital Version 132
Under "Using proxies and message contracts," first item, fourth line

Changed:
"reference name as localhost."
to:
"namespace as localhost."

Anonymous  Aug 2008
Printed Page 135
Example 2-37 code, second to last line

Changed:
</SaveGigRequest>
to
</SaveGigResponse>

Anonymous  Aug 2008
Other Digital Version 135
Example 2-37 code, second to last line

Changed:
</SaveGigRequest>
to
</SaveGigResponse>

Anonymous  Aug 2008
Printed Page 138
Thirteen lines from bottom

Deleted the word "a" after "header is"

Anonymous  Aug 2008
Other Digital Version 138
Thirteen lines from bottom

Deleted the word "a" after "header is"

Anonymous  Aug 2008
Printed Page 140
3rd paragraph last sentence

In the last sentence in the third paragraph it says "...you can you serialize it...". The second "you"
was removed.

Anonymous  Aug 2008
Other Digital Version 143
3rd paragraph last sentence

In the last sentence in the third paragraph it says "...you can you serialize it...". The second "you"
was removed.

Anonymous  Aug 2008
Printed Page 171
3rd paragraph

The following text is incorrect:
"To do this, right-click the project node and select Add Web Reference."

Correction:
"To do this, right-click the project node and select Add Service Reference. From the Add Service Reference dialog click the Advanced button and then click the Add Web Reference button."

Reason:
Instructions to reach the Add Web Reference dialog have changed for Visual Studio 2008. The context menu Add Web Reference no longer exists. This function is now provided through the Add Service Reference dialog.


Michele Leroux Bustamante
O'Reilly Author 
May 2009
Printed Page 173
Under "Adding a service reference for the non-legacy client," first item, second line

Changed:
"reference name"
to:
"namespace"

Anonymous  Aug 2008
Other Digital Version 173
Under "Adding a service reference for the non-legacy client," first item, second line

Changed:
"reference name"
to:
"namespace"

Anonymous  Aug 2008
Printed Page 185
In number 7.

Sentence two read:
"What is it missing is the configuration..."
and now reads:
"What it is missing is the configuration..."

Anonymous  Aug 2008
Printed Page 186
Note at top of page,

Changed the last sentence to read:
"With Visual Studio 2008, Add Service Reference also supports this using Advanced options."

Anonymous  Aug 2008
Other Digital Version 186
Note at top of page,

Changed the last sentence to read:
"With Visual Studio 2008, Add Service Reference also supports this using Advanced options."

Anonymous  Aug 2008
Other Digital Version 188
In number 7.

Sentence two read:
"What is it missing is the configuration..."
and now reads:
"What it is missing is the configuration..."

Anonymous  Aug 2008
Printed Page 202
Note at bottom of page, fifth line

Changed:
"they are ignored."
to:
"they are ignored when the contract is used as a callback contract."

Anonymous  Aug 2008
Other Digital Version 202
Note at bottom of page, fifth line

Changed:
"they are ignored."
to:
"they are ignored when the contract is used as a callback contract."

Anonymous  Aug 2008
Printed Page 204
Under "Implementing the callback contract," first item, second line

Changed:
"reference name"
to:
"namespace"

Anonymous  Aug 2008
Printed Page 204
Example 3-20, bolded the first line of code

"using System.Threading;"

Anonymous  Aug 2008
Other Digital Version 204
Under "Implementing the callback contract," first item, second line

Changed:
"reference name"
to:
"namespace"

Anonymous  Aug 2008
Other Digital Version 204
Example 3-20, bolded the first line of code

"using System.Threading;"

Anonymous  Aug 2008
Printed Page 211
Example 3-26, tenth line

Changed:
"subscriber"
to:
"callback"

Anonymous  Aug 2008
Printed Page 211
Example 3-26, deleted the line of code (fourth and fifth from bottom of code)(before "When something triggers..."

IPublisherEvents callback = OperationContext.Current.GetCallbackChannel<IPublisherEvents>( );

Anonymous  Aug 2008
Printed Page 211
Example 3-26, third line from bottom of code

Changed:
"callback"
to:
"id"

Anonymous  Aug 2008
Printed Page 211
last paragraph

On lab step 2 in the second sentence there is a word "teh" which now reads "the".

Anonymous  Aug 2008
Other Digital Version 211
Example 3-26, tenth line

Changed:
"subscriber"
to:
"callback"

Anonymous  Aug 2008
Other Digital Version 211
Example 3-26, deleted the line of code (fourth and fifth from bottom of code)(before "When something triggers..."

IPublisherEvents callback = OperationContext.Current.GetCallbackChannel<IPublisherEvents>( );

Anonymous  Aug 2008
Other Digital Version 211
Example 3-26, third line from bottom of code

Changed:
"callback"
to:
"id"

Anonymous  Aug 2008
Other Digital Version 211
last paragraph

On lab step 2 in the second sentence there is a word "teh" which now reads "the".

Anonymous  Aug 2008
Printed Page 218
Item number five, first line

Changed:
"fileUploadDir"
to:
"mediaPath"

Anonymous  Aug 2008
Printed Page 218
Item number five, third line (code)

Changed:
"fileUploadDir"
to:
"mediaPath"

Anonymous  Aug 2008
Printed Page 218
Under "Streaming from the client," first item, second and third lines

Changed:
"reference as localhost"
to:
"namespace as localhost"

Anonymous  Aug 2008
Other Digital Version 218
Item number five, first line

Changed:
"fileUploadDir"
to:
"mediaPath"

Anonymous  Aug 2008
Other Digital Version 218
Item number five, third line (code)

Changed:
"fileUploadDir"
to:
"mediaPath"

Anonymous  Aug 2008
Other Digital Version 218
Under "Streaming from the client," first item, second and third lines

Changed:
"reference as localhost"
to:
"namespace as localhost"

Anonymous  Aug 2008
Printed Page 240
Top of page, under "Closing the ServiceHost," first paragraph

Added the following to end of this paragraph:

Although a rare occurence, it is possible for the ServiceHost to be put into a faulted state. For example,
if there are errors in the service model configuration. If the ServiceHost State property is set to
CommunicationState.Faulted, when Close() is called an exception will be thrown. For this reason, it is best
to check the State property of the ServiceHost instance and call Abort() if it is in a faulted state. This
technique was illustrated in Chapter 1

Anonymous  Aug 2008
Other Digital Version 240
Top of page, under "Closing the ServiceHost," first paragraph

Added the following to end of this paragraph:

Although a rare occurence, it is possible for the ServiceHost to be put into a faulted state. For example,
if there are errors in the service model configuration. If the ServiceHost State property is set to
CommunicationState.Faulted, when Close() is called an exception will be thrown. For this reason, it is best
to check the State property of the ServiceHost instance and call Abort() if it is in a faulted state. This
technique was illustrated in Chapter 1

Anonymous  Aug 2008
Printed Page 249
Bottom of page, under the section "Calling services on a non-UI thread," second and third lines

Changed:
"reference name"
to:
"namespace"

Anonymous  Aug 2008
Other Digital Version 249
Bottom of page, under the section "Calling services on a non-UI thread," second and third lines

Changed:
"reference name"
to:
"namespace"

Anonymous  Aug 2008
Printed Page 266
1st numbered paragraph under 'Creating a Windows service installer'

Reads 1. Go to the WindowsServiceHost project...

Should be 1. Go to the MessagingServiceHost project...

Note from the Author or Editor:
In the August 2008 reprint, this error is on Page 267, step 2.

Change this: "Go to the WindowsServiceHost project..."

To this: "Go to the MessagingServiceHost project..."

Anonymous  May 2009
Printed Page 281
Under "IIS 7.0 and Windows Activation Service," first line

Changed:
Windows "Longhorn" Server
to:
Windows Server 2008

Anonymous  Aug 2008
Printed Page 281
Under "IIS 7.0 and Windows Activation Service," eigth line

After the word "deployments," deleted the rest of the paragraph starting with:
Thus, until Windows “Longhorn” Server is released, it has limited value...will pay off for Longhorn.

Anonymous  Aug 2008
Other Digital Version 281
Under "IIS 7.0 and Windows Activation Service," first line

Changed:
Windows "Longhorn" Server
to:
Windows Server 2008

Anonymous  Aug 2008
Other Digital Version 281
Under "IIS 7.0 and Windows Activation Service," eigth line

After the word "deployments," deleted the rest of the paragraph starting with:
Thus, until Windows “Longhorn” Server is released, it has limited value...will pay off for Longhorn.

Anonymous  Aug 2008
Printed Page 283
Under "Installing IIS 7.0, WAS, and WCF Communications," first sentence

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Other Digital Version 283
Under "Installing IIS 7.0, WAS, and WCF Communications," first sentence

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Printed Page 289
Under "Choosing the Right Hosting Environment," first paragraph, last sentence:

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Printed Page 289
Under "Choosing the Right Hosting Environment," second paragraph, second bulleted item

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Printed Page 289
Under "Choosing the Right Hosting Environment," table 4-4, last item

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Other Digital Version 289
Under "Choosing the Right Hosting Environment," first paragraph, last sentence:

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Other Digital Version 289
Under "Choosing the Right Hosting Environment," second paragraph, second bulleted item

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Other Digital Version 289
Under "Choosing the Right Hosting Environment," table 4-4, last item

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Printed Page 304
Note that starts with "Reliable sessions and secure sessions..."

Changed this section:
"also provide their own timeout...always be used for the session."
to:
"also have timeout properties but they do not control the timeout of the overall session. These properties
are described in later chapters."

Anonymous  Aug 2008
Other Digital Version 304
Note that starts with "Reliable sessions and secure sessions..."

Changed this section:
"also provide their own timeout...always be used for the session."
to:
"also have timeout properties but they do not control the timeout of the overall session. These properties
are described in later chapters."

Anonymous  Aug 2008
Printed Page 319
3rd paragraph

Reads ...as shown in the Single instancing example of Figure 5-19.

Should be ...as shown in the Single instancing example of Figure 5-18.

Note from the Author or Editor:
This is correct in the August 2008 reprint.

Anonymous  Aug 2008
Printed Page 321
Right before the section "Custom Synchronization," added this paragraph

"Although a new service instance is allocated for each request with PerCall services, Multiple concurrency
mode is still useful in the case where there is a session to increase throughput for multi-threaded clients.
That's because the lock acquired when the first request is received from a particular client proxy is
actually on the context, not on the service object. When a session is present, this lock prevents more than
one thread from entering the same session - which means the TCP socket, the named pipe, or the reliable or
secure session."

Anonymous  Aug 2008
Printed Page 321
In the second paragraph after Figure 5-18, third line

Changed:
"Figure 5-19"
to:
"Figure 5-18"

Anonymous  Aug 2008
Other Digital Version 321
Right before the section "Custom Synchronization," added this paragraph

"Although a new service instance is allocated for each request with PerCall services, Multiple concurrency
mode is still useful in the case where there is a session to increase throughput for multi-threaded clients.
That's because the lock acquired when the first request is received from a particular client proxy is
actually on the context, not on the service object. When a session is present, this lock prevents more than
one thread from entering the same session - which means the TCP socket, the named pipe, or the reliable or
secure session."

Anonymous  Aug 2008
Other Digital Version 321
In the second paragraph after Figure 5-18, third line

Changed:
"Figure 5-19"
to:
"Figure 5-18"

Anonymous  Aug 2008
Printed Page 325
Under item three, third line

Changed:
"2005"
to:
"2008"


Anonymous  Aug 2008
Other Digital Version 325
Under item three, third line

Changed:
"2005"
to:
"2008"


Anonymous  Aug 2008
Printed Page 332
Under "Throttling PerCall Services," sixth line

Changed:
"serivce"
to:
"service"

Anonymous  Aug 2008
Other Digital Version 332
Under "Throttling PerCall Services," sixth line

Changed:
"serivce"
to:
"service"

Anonymous  Aug 2008
Printed Page 337
Added a tip before "Summary"

"The release of the .NET Framework 3.5 includes a new feature for WCF - Durable Services. This feature makes
it possible to have an application session for a WCF service persist to a database between calls and be
restored on subsequent calls. This feature relies on the Windows Workflow Foundation persistence services.
This feature does not preserve transport sessions, so the client must still recreate the proxy if a
particular machine is no longer available, or if the session is terminated for some other reason."

Anonymous  Aug 2008
Other Digital Version 337
Added a tip before "Summary"

"The release of the .NET Framework 3.5 includes a new feature for WCF - Durable Services. This feature makes
it possible to have an application session for a WCF service persist to a database between calls and be
restored on subsequent calls. This feature relies on the Windows Workflow Foundation persistence services.
This feature does not preserve transport sessions, so the client must still recreate the proxy if a
particular machine is no longer available, or if the session is terminated for some other reason."

Anonymous  Aug 2008
Printed Page 341
Item "Inactivity Timeout"

Replaced paragraph with this:
"This is a TimeSpan property that controls the duration of the reliable session including channel layer
activity. If no messages, including infrastructure messages such as reliable session acknowledgements, are
transmitted during this elapsed time the session is faulted. The default value is 00:10:00 (or 10 minutes)."

Anonymous  Aug 2008
Other Digital Version 341
Item "Inactivity Timeout"

Replaced paragraph with this:
"This is a TimeSpan property that controls the duration of the reliable session including channel layer
activity. If no messages, including infrastructure messages such as reliable session acknowledgements, are
transmitted during this elapsed time the session is faulted. The default value is 00:10:00 (or 10 minutes)."

Anonymous  Aug 2008
Printed Page 346
Under "Session lifetime," first code block

Replaced code block with:

<wsHttpBinding>
<binding name="wsHttpRM" receiveTimeout="00:00:05">
<reliableSession enabled="true" ordered="true" />
</binding>
</wsHttpBinding>

Anonymous  Aug 2008
Other Digital Version 346
Under "Session lifetime," first code block

Replaced code block with:

<wsHttpBinding>
<binding name="wsHttpRM" receiveTimeout="00:00:05">
<reliableSession enabled="true" ordered="true" />
</binding>
</wsHttpBinding>

Anonymous  Aug 2008
Printed Page 347
First tip

Replaced first tip with:
"It simplifies matters greatly if you use the receive timeout setting to control session lifetime."

Anonymous  Aug 2008
Other Digital Version 347
First tip

Replaced first tip with:
"It simplifies matters greatly if you use the receive timeout setting to control session lifetime."

Anonymous  Aug 2008
Printed Page 384
Under "MSMQ Overview," fourth and fifth lines

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Other Digital Version 384
Under "MSMQ Overview," fourth and fifth lines

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Printed Page 399
First paragraph after Figure 6-19, second and third lines

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Other Digital Version 399
First paragraph after Figure 6-19, second and third lines

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Printed Page 407
Last paragraph, second and third lines from bottom of page

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Other Digital Version 407
Last paragraph, second and third lines from bottom of page

Changed:
"Windows Longhorn Server"
to:
"Windows Server 2008"

Anonymous  Aug 2008
Printed Page 427
Figure 7-4

Changed:
"DALC"
to
"Data Access"

Anonymous  Aug 2008
Other Digital Version 427
Figure 7-4

Changed:
"DALC"
to
"Data Access"

Anonymous  Aug 2008
Printed Page 431
item 2

Title: Learning WCF
Section: Lab for Authenticating and Authorizing Windows Credentials
Edition: (Printed 8/08)
Page:431
Section: Item 2

Textual Error:
"Not that the identities of the *host,* thread, and security context all
match the credentials passed from the client application"

Console Output:
UserOperation requested at 2/27/2009 11:45:27 AM
*Host* identity is GEOMAR\Mark
Security context identity is GEOMAR\TestUser
Security context Windows identity GEOMAR\TestUser
ThreadIdentity is GEOMAR\TestUser

When following the Lab and also checking the Completed Labs, the host
identity does not reflect the credentials passed from the client. The host
identity appears to reflect the identity of the service itself.

Note from the Author or Editor:
Please change this text: "Note that the identities of the host, thread, and security context all match the credentials passed from the client application."

to this: "Note that the identities of the thread and security context both match the credentials passed from the client application, while the host identity matches the account you used to log in to the machine."

Anonymous  May 2009
Printed Page 437
Figure 7-6

Changed:
"DALC"
to
"Data Access"

Anonymous  Aug 2008
Other Digital Version 437
Figure 7-6

Changed:
"DALC"
to
"Data Access"

Anonymous  Aug 2008
Printed Page 439
Under "Generating the client proxy," first item, third line

Changed:
"reference name localhost."
to:
"namespace as localhost."

Anonymous  Aug 2008
Other Digital Version 439
Under "Generating the client proxy," first item, third line

Changed:
"reference name localhost."
to:
"namespace as localhost."

Anonymous  Aug 2008
Printed Page 455
Figure 7-8

Changed:
"DALC"
to
"Data Access"

Anonymous  Aug 2008
Other Digital Version 455
Figure 7-8

Changed:
"DALC"
to
"Data Access"

Anonymous  Aug 2008
Printed Page 456
Figure 7-9

Changed:
"DALC"
to
"Data Access"

Anonymous  Aug 2008
Other Digital Version 456
Figure 7-9

Changed:
"DALC"
to
"Data Access"

Anonymous  Aug 2008
Printed Page 535
Item number one, first line

Changed:
"2005"
to:
"2008"

Anonymous  Aug 2008
Other Digital Version 535
Item number one, first line

Changed:
"2005"
to:
"2008"

Anonymous  Aug 2008