SaveShoppingCart method, 199–200, 204, 208
Schemas.microsoft.com.2003.10.Serialization.Array.xsd, 69
Secure Application Markup Language (SAML) 1.0, 365–366
SecureConversation, 247–248
Secure Sockets Layer (SSL), 85
Security
configure, 268–271
data contract serialization and, 178
defined, 81–83
implementing in Windows domain, 86–116
and performance, 303
specify requirements for operations in WCF service, 151–156
streaming and, 320
See also Claims-based security;
specific types of security
SecurityAction.Deny, 111
SecurityBindingElement class, 257
Security domain, 81
SecurityException exception, 112
Security Token Service (STS), 376–380
Self-issued information card, 364.
See also Information card
SendTimeout property, 277
“Sequence terminated” SOAP fault message, 239
Sequencing operations, 205–213
Serializable isolation level, 216
Serialization, 12.
See also Data contract serializer
Server’s certificate store
export and import certificates into, 137
Service address, 32
Service AuthorizationManager class, 369
Service behavior, 23, 263–265
ServiceBehavior attribute
change threading model, 283–284
interplay between InstanceContextMode property and, 205
investigate InstanceContextMode property of, 196–198
PerSession instance context mode, 194, 198
deploying application if behavior enabled, 75
enable behavior using application configure file, 231
InstanceContextMode property of, 193
processing client request, 34
Service contract, 266–268
create ShoppingCartRouter service, 330
define, for WCF service, 13–14
defined, 12–13
modifying, 150–165
add parameter to existing operation in, 159–160
making breaking and nonbreaking changes to, 163–165
selectively protecting operations, 150–156
test, 153–156
versioning service, 156–163
routing messages to other services, 325–326
See also Contract
ServiceContract attribute, 69, 162, 267, 342
ServiceDebug service behavior, 255
Service definition file, 18–19, 42
Service endpoints, 32
Service host application
handling faults in, 77
handling unexpected messages in, 77–79
managing exceptions in, 75–79
ServiceHost class, 35–37, 50, 75
ServiceHost constructor, 36, 260
ServiceHostController class, 54
ServiceHost events, 37
ServiceHost object
AddServiceEndpoint method of, 324
function of, 260
hosting WCF service in user application, 35–37, 40
managing exceptions in service host applications, 75–77
state transition diagram for, 76
See also Service behavior
ServiceHost states and transitions, 75–76
Service installer, create, 54
Service instance context mode
defined, 193
PerCall instance context mode, 195
PerSession instance context mode, 194
single instance context mode, 196–198
transactions and, 231–232
Service instance deactivation, selectively controlling, 203–204
Service instance pooling, 308–311
ServiceModel source, 90
Service-Oriented Architecture (SOA), 28–30
ServiceSecurityContext class, 132
ServiceThrottle class, 304–305
ServiceThrottle object, 305
ServiceThrottle property, 304
Service throttling, 303, 311–311
Service ThrottlingBehavior class, 305
ServiceThrottling behavior element, 308
ServiceThrottlingBehavior object, 305
Service Trace Viewer, 91, 152–153, 162
SessionMode property, 207, 245
SetTransactionComplete method, 227
Shopping cart, defined, 183
ShoppingCartBehavior class, 263–264
ShoppingCartBehavior method, 263
ShoppingCartBehavior service, 263
ShoppingCartClient application, and Windows CardSpace, 369–371
ShoppingCartGUIClient form, 315–316
ShoppingCartInspector object, 264
ShoppingCartPhotoServiceBindingConfig binding configuration, 317
ShoppingCartPhotoServiceImpl class, 314
ShoppingCartPhotoService service, 319–320
ShoppingCartRouter service, 330–337
ShoppingCartServiceHost application, 335–336
ShoppingCartServiceImpl class, 193, 217
ShoppingCartService service
amend, to authorize users based on email address, 367–369
apply throttling to, 306–311
configure, to flow transactions from client applications, 220–221
configure, to use claims-based security, 364–367
configure client application to flow transactions to, 224–225
control sequence of operations in, 207–208
create, 182–188
create client application to test, 10–193
create custom binding for, 247–250
create host application for, 188–189
create information card for testing, 371–372
create service behavior for, 263–265
enable reliable sessions in, 236–2349
manage state in, 198–202
modifying to execute in traditional Internet environment, 326–328
programmatically create and use binding in, 258–261
reconfigure, to use transport level security, 328–330
test, 372–375
test operation sequencing in, 207–213
test state management feature of, 202–204
test transactional implementation of, 225–229
use Message Transmission Optimization Mechanism (MTOM) to transmit photographic images from, 314–318
using PerSession instance context mode rather than PerCall, 205
Simple Object Access Protocol (SOAP), 5
SimpleProductsService, 271
Single instance context mode, 196–198
“Small-endian” 32-bit processor, 3
SOA. See Service-Oriented Architecture (SOA)
SOAP. See Simple Object Access Protocol (SOAP)
SOAP buffer, 339
SOAP fault
add code to WCF client application to catch, 62–63
add code to WCF service to throw, 60–62
test FaultException handler, 63–64
throwing and catching, 60–64
use FaultContract attribute to specify, operation can throw, 65–66
SOAP fault message, 65, 239
SOAP message
adding parameter to existing operation, 164
modifying data contract, 165
modifying service contract, 150
and ProcessMessage method, 331
transmitting data, 311
SOAP message level security, 100
SOAP protocol, 332
SOAP serialization, 171
SQL Injection attack, 18, 157
SQL Membership Provider, 118–132
SQL Role Provider, 84, 108, 118–132
SQL Server database, 139–141
SSL. See Secure Sockets Layer (SSL)
SSL certificate, 94–98
SslStreamSecurityBindingElement class, 258
State
maintaining, with PerCall instance context mode, 198–204
manage, in ShoppingCartService service, 198–202
managing, in WCF service, 182–205
StateData parameter, 288
State management feature, 202–204
State property, 346
State transition diagram, 76
Streamed, 319
StreamedRequest, 319
StreamedResponse, 319
Streaming data, from WCF service, 318–320
Strongly-typed fault, add code to WCF client application to catch, 71–72
Strongly-type faults, 65–72
STS. See Security Token Service (STS)
Subject, 362
Subscribe operations, 354–356
SubscriberToPriceChanged method, 354–355
Subscribing, delivery models for, 358
Svcutil command, 293
Svcutil utility
connecting to service programmatically, 265–266
and creating proxy class, 286, 294, 381
handling unexpected messages in host application, 77
sending messages programmatically, 271
SymmetricSecurityBindingElement class, 257
Synchronous parameter, 288
System.Diagnostics.Debug.WriteLine method, 279
System.IdentityModel assembly, 11
System.Runtime.Serialization assembly, 11
System.Runtime.Serialization namespace, 11
System.ServiceModel assembly, 11
System.ServiceModel.Channels namespace, 47
System.ServiceModel.ClientBase generic abstract class, 269
System.ServiceModel.Dispatcher namespace, 311
System.ServiceModel namespace, 12, 35, 48, 256, 369
System.TimeoutException, 277
System.Transactions assembly, 214–215
System.Transactions namespace, 214
System.Web.Security.Roles class, 132