Errata

Learning WCF

Errata for Learning WCF

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 xviii
Third paragraph, first line

Deleted the word 2005 after Visual Studio.

Anonymous    Aug 01, 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 01, 2008
Printed
Page xviii
"Under System Requirements," third bulleted item

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

Anonymous    Aug 01, 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 01, 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 01, 2008
Printed
Page xviii
Under "System Requirements"

Deleted the sixth bulleted item:

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

Deleted the word 2005 after Visual Studio.

Anonymous    Aug 01, 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 01, 2008
Other Digital Version
xviii
"Under System Requirements," third bulleted item

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

Anonymous    Aug 01, 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 01, 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 01, 2008
Other Digital Version
xviii
Under "System Requirements"

Deleted the sixth bulleted item.

Anonymous    Aug 01, 2008
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  Aug 20, 2009 
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  Sep 17, 2008 
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  Jan 19, 2009 
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  Jan 19, 2009 
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  Jul 09, 2008  Aug 01, 2008
Printed
Page 12
1st paragraph, sentence 2

Typo.

"with one anotehr to access"

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

Typo.

"with one anotehr to access"

Anonymous    Aug 01, 2008
Printed
Page 29
tip

Typo.

"addressing makes is possible"

is => it

Anonymous    Aug 01, 2008
Other Digital Version
29
tip

Typo.

"addressing makes is possible"

is => it

Anonymous    Aug 01, 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 01, 2008
Printed
Page 32
#4

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

Anonymous    Aug 01, 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 01, 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 01, 2008
Other Digital Version
32
#4

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

Anonymous    Aug 01, 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 01, 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  Sep 14, 2008  May 01, 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  Jul 21, 2009 
Printed
Page 39
#8

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

Anonymous    Aug 01, 2008
Other Digital Version
39
#8

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

Anonymous    Aug 01, 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  Jul 21, 2009 
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  Jul 21, 2009 
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 01, 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 01, 2008
Printed
Page 91
Under item number six, last line

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

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

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

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

Anonymous    Aug 01, 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 01, 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 01, 2008
Printed
Page 91
Third line from the bottom

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

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

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

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

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

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

Anonymous    Aug 01, 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 01, 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 01, 2008
Other Digital Version
91
Third line from the bottom

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

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

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

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

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

Anonymous    Aug 01, 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 01, 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 01, 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 01, 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 01, 2008
Printed
Page 120
Note at top of page, second line

Changed:
"ObservableCollection"
to:
"CollectionDataContract"

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

Changed:
"ObservableCollection"
to:
"CollectionDataContract"

Anonymous    Aug 01, 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 01, 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 01, 2008
Printed
Page 125
Note in the middle of the page, first line

Changed:
"this feature"
to:
"IExtensibleDataObject"

Anonymous    Aug 01, 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 01, 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 01, 2008
Other Digital Version
125
Note in the middle of the page, first line

Changed:
"this feature"
to:
"IExtensibleDataObject"

Anonymous    Aug 01, 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 01, 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 01, 2008
Printed
Page 135
Example 2-37 code, second to last line

Changed:
</SaveGigRequest>
to
</SaveGigResponse>

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

Changed:
</SaveGigRequest>
to
</SaveGigResponse>

Anonymous    Aug 01, 2008
Printed
Page 138
Thirteen lines from bottom

Deleted the word "a" after "header is"

Anonymous    Aug 01, 2008
Other Digital Version
138
Thirteen lines from bottom

Deleted the word "a" after "header is"

Anonymous    Aug 01, 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 01, 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 01, 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
 
Mar 02, 2009  May 01, 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 01, 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 01, 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 01, 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 01, 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 01, 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 01, 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 01, 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 01, 2008
Printed
Page 204
Under "Implementing the callback contract," first item, second line

Changed:
"reference name"
to:
"namespace"

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

"using System.Threading;"

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

Changed:
"reference name"
to:
"namespace"

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

"using System.Threading;"

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

Changed:
"subscriber"
to:
"callback"

Anonymous    Aug 01, 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 01, 2008
Printed
Page 211
Example 3-26, third line from bottom of code

Changed:
"callback"
to:
"id"

Anonymous    Aug 01, 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 01, 2008
Other Digital Version
211
Example 3-26, tenth line

Changed:
"subscriber"
to:
"callback"

Anonymous    Aug 01, 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 01, 2008
Other Digital Version
211
Example 3-26, third line from bottom of code

Changed:
"callback"
to:
"id"

Anonymous    Aug 01, 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 01, 2008
Printed
Page 218
Item number five, first line

Changed:
"fileUploadDir"
to:
"mediaPath"

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

Changed:
"fileUploadDir"
to:
"mediaPath"

Anonymous    Aug 01, 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 01, 2008
Other Digital Version
218
Item number five, first line

Changed:
"fileUploadDir"
to:
"mediaPath"

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

Changed:
"fileUploadDir"
to:
"mediaPath"

Anonymous    Aug 01, 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 01, 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 01, 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 01, 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 01, 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 01, 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  Oct 19, 2008  May 01, 2009
Printed
Page 281
Under "IIS 7.0 and Windows Activation Service," first line

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

Anonymous    Aug 01, 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 01, 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 01, 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 01, 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 01, 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 01, 2008
Printed
Page 289
Under "Choosing the Right Hosting Environment," first paragraph, last sentence:

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

Anonymous    Aug 01, 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 01, 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 01, 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 01, 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 01, 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 01, 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 01, 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 01, 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  Oct 19, 2008  Aug 01, 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 01, 2008
Printed
Page 321
In the second paragraph after Figure 5-18, third line

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

Anonymous    Aug 01, 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 01, 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 01, 2008
Printed
Page 325
Under item three, third line

Changed:
"2005"
to:
"2008"


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

Changed:
"2005"
to:
"2008"


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

Changed:
"serivce"
to:
"service"

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

Changed:
"serivce"
to:
"service"

Anonymous    Aug 01, 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 01, 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 01, 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 01, 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 01, 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 01, 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 01, 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 01, 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 01, 2008
Printed
Page 384
Under "MSMQ Overview," fourth and fifth lines

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

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

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

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

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

Anonymous    Aug 01, 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 01, 2008
Printed
Page 407
Last paragraph, second and third lines from bottom of page

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

Anonymous    Aug 01, 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 01, 2008
Printed
Page 427
Figure 7-4

Changed:
"DALC"
to
"Data Access"

Anonymous    Aug 01, 2008
Other Digital Version
427
Figure 7-4

Changed:
"DALC"
to
"Data Access"

Anonymous    Aug 01, 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  Mar 03, 2009  May 01, 2009
Printed
Page 437
Figure 7-6

Changed:
"DALC"
to
"Data Access"

Anonymous    Aug 01, 2008
Other Digital Version
437
Figure 7-6

Changed:
"DALC"
to
"Data Access"

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

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

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

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

Anonymous    Aug 01, 2008
Printed
Page 455
Figure 7-8

Changed:
"DALC"
to
"Data Access"

Anonymous    Aug 01, 2008
Other Digital Version
455
Figure 7-8

Changed:
"DALC"
to
"Data Access"

Anonymous    Aug 01, 2008
Printed
Page 456
Figure 7-9

Changed:
"DALC"
to
"Data Access"

Anonymous    Aug 01, 2008
Other Digital Version
456
Figure 7-9

Changed:
"DALC"
to
"Data Access"

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

Changed:
"2005"
to:
"2008"

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

Changed:
"2005"
to:
"2008"

Anonymous    Aug 01, 2008