Programming WCF Services by Juval Lowy The unconfirmed error reports are from readers. They have not yet been approved or disproved by the author or editor and represent solely the opinion of the reader. Here's a key to the markup: [page-number]: serious technical mistake {page-number}: minor technical mistake : important language/formatting problem (page-number): language change or minor formatting problem ?page-number?: reader question or request for clarification This page was updated June 23, 2008. UNCONFIRMED errors and comments from readers: {example} sample code ; find the the sample code ServiceModelEx static void AddTransient(T subscriber,string eventOperation) { lock(typeof(SubscriptionManager)) { List list = m_TransientStore[eventOperation]; if(list.Contains(subscriber)) { return; } list.Ad the portion where list.Contains(subscriber) always return false? {2} 1st paragraph; correct requires .Net 3.0 currently says: requires .Net 2.0 (13 and on) Many ...; Windows NT Services are now just called Windows Services. I see references to NT Services, but the "NT" portion of the name was dropped several years ago and is misleading. [28] 5; public class KeyedByTypeCollection : KeyedCollection { public T Find() T is not defined, though there is a Type above, which should be T {118} Example 3-11, ContactManager.GetContacts method; Converter converter; Converter = delegate(MyDataSet.ContactsRow row) should read: Converter converter = delegate(MyDataSet.ContactsRow row) (185) 2nd paragraph; ...by default, the important definition... Should read: ...by default, the imported definition... {219} Code in the first half of the page; Shouldn't the exception handler: catch(FaultException exception) be: catch(FaultException exception) {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. {349} Last sentence under Thread-Affinity Services; Earlier in the paragraph, the author deprecates the usage of ConcurrencyMode.Single and then goes on to enumerate benefits of using ConcurrencyMode.Multiple. However, the last sentence states: "The recommended mode with AffinitySynchronizer is ConcurrencyMode.Single." It is confusing why ConcurrencyMode.Single is deprecated, then recommended. My guess is that the last sentence should contain ConcurrencyMode.Multiple. {369} 1st paragraph of the Asynchronous Invocation section; [ServiceOperation] should be [OperationContract] also [ServiceOperation(...)] should be [OperationContract(...)] [376] First code snippet; Proxy cannot be closed before callback method has been called back. (Page 374 code snippet shows the same mistake with an anonymous method) (452) 1st paragraph; inherit for inherent: ...due to its inherit overhead. Should read: ...due to its inherent overhead. (453) 1st paragraph; Possible typo: Should the sentence: Transport security yields the better performance. Read either: Transport security yields the best performance. Or: Transport security yields better performance. (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..." {464} 1st paragraph; I believe that the sentence: When Transport security is used, NetTcpSecurity will use... Should read: When Transport security is used, NetNamedPipeSecurity will use... (554) all following pages; The text should match Figure B-1: Are the Publishing client, the Pub/Sub Service and the Subscribing clients (at least) three different applications? Instead of saying "the using application", say explicitely "subscriber", "publisher", "pub/sub service app". (554) and following source code; When I create a class library and include all the PublisherSubscribe files, the BindingRequirementAttribute is not resolved. Can't find it in the online help. At least one year after initial publication of the book, the VB.NET code should be online. or the C# sourcecode should be explained in very detail to VB.NET folks so that they can apply it immediately. The book promises "complete applications" for download. That's not true - there are only source files without explanation how to make them into an app. The chapter about UI context switching in the client is to complicated to read for a non-native- english reader.