C#, 161
C++, 374
CA. See Certification authority (CA)
Callback contract
add, to ProductsService service and invoke callback operation, 347–349
defining, 342
generate client proxy and implement, 349–351
implementing duplex channel, 347
implementing operation in, 343–345
invoking operation in, 345–346
reentrancy and threading in callback operation, 346
using, to implement events, 347–359
CallbackContract property, 342
Callback method, 286, 288, 293–294
Callback operation, 346–349
Certhash parameter, 98
Certificate(s)
ASPNETProductsService, 384
authenticating and authorizing users by using, 132–141
authentication service using, 142–147
create, 366
export and import, into client certificate store, 145
export and import, into server’s certificates store, 137
investigate identities of users authenticated using, 138–139
update WCF client application to send, to WCF service, 137–138
and Windows CardSpace, 366
Certificates Microsoft Management Console, 96–98
Certificate store, export users’ certificates and import them into server’s, 137
Certificate validation checking, add code to WCF client to override, 98–99
CertificateValidationMode property, 135
Certificate verification, bypass, 384
Certification authority (CA), 133, 135
Certmgr command, 137, 370
ChainTrust service, 135
ChangePrice method, 355
ChangePrice operation, 347
ChangeStockLevel, 27, 347
Channel
composing, into binding, 256–261
defined, 33–34
ChannelDispatcher object
and EndpointDispatcher, 264, 331
function of, 255
review, 322–324
and Service Host object, 260
using service throttle to control resource use, 304, 309–308
ChannelFactory class, 267
ChannelFactory infrastructure, 269
ChannelFactory object, 255, 265, 272
ChannelListener object, 254, 260
Channel object, 33, 78.
See also specific objects
Channel organization, recommended, 257
Channel property, 269
Channel stack, 33–35, 247, 255, 322
Checkout, 184, 187–188, 223, 227
ChunkSize integer constant, 314
Claims-based security
configure ShoppingCartService to use, 364–367
defined, 362
implementing, 362–375
Claimset, 363, 368
ClaimsTypes property, 365
ClaimTypes class, 365
Click attribute, 39
Client application(s)
configure, and service to use third-party identity provider, 376–377
configure, to flow transactions to ShoppingCart Service service, 224–225
configure, to use WSDualHttpBinding binding, 351–354
configure ShoppingCartService service to flow transactions from, 220–221
configure WCF service to authenticate itself to, 144–145
create, to test ShoppingCartService service, 190–193
create custom binding for, 250–251
create transaction in, 221–224
enabling streaming in, 319
examine trace message generated by, 239–245
incorporating security into, 5–6
invoking operation asynchronously in, 286–287
modify, to authenticate WCF service using certificate, 136
modify WCF service to require, to authenticate using certificates, 134–136
privacy, 6
reconfigure, to use ShoppingCartRouter service, 337
regenerate proxy class and update, 170–171
sending large binary data objects to, 314–318
send message and process response in, 271–274
update, to send certificates to WCF service, 137–138
update, to subscribe to “Price Changed” event, 356
verify, authenticates WCF service, 146–147
ClientBase abstract class, 269
ClientBase class, 270
Client-based authentication, 377–380
Client callback, 341, 347.
See also Callback contract
ClientCertificate property, 105
Client certificate store, export WCF service certificate and import into, 145
Client communications, controlling
connecting to service programmatically, 265–271
sending messages programmatically, 271–274
ClientCredentials, 105–106, 270–271
Client object, 31
Client proxy, generate, and implement callback contract, 349–351
Closed state, 76
Close method, 28, 37, 41, 77
Closing state, 76
CLR. See Common language runtime (CLR)
CMD Shell, 370
COM. See Component Object Model (COM)
COM+ application, expose, as WCF service, 388–401.
See also Products COM+ application
COM+ catalog, 387–399
Common language runtime (CLR), 60, 334
CommunicationState.Opened, 346
Complete method, 223, 226–227
Component Object Model (COM), 2–3
Component Services console, 225–230, 393
ComSvcConfig utility, 388
ConcurrencyMode attribute, 285
ConcurrencyMode.Multiple, 195, 283–285
ConcurrencyMode property, 194, 232, 283–284, 304–305
ConcurrencyMode.Reentrant, 195
ConcurrencyMode.Single, 305
Concurrency property, 195
ConcurrentMode.Single, 195
ConfigFault object, 67
Console client application, 24–28
Content-based routing, 321
Contract, 12–14, 321.
See also Data contract;
Service contract
Contract element, 20
ContractFilter, 324
ContractFilter property, 331
Contract-first approach, 12
Cookies, 181
CorrelationState parameter, 262
CreateAnonymousForCertificateBindingElement, 257
CreateBufferedCopy method, 262
CreateChannel method, 267
Created state, 75–76
CreateMessage method, 78, 262
CreateSequence message, 240
CreateSequenceResponse message, 240–241
Create User page, 127–128
Current.PrimaryIdentity property, 132
Current property, 227
CurrentStockLevel, 27, 153, 347
Custom authorization, implement, 369
Custom binding, create, 247–251, 319
CustomBinding object, 256
Custom Demux, 325
CustomeCertificateValidatorType property, 135
Custom service, 135