S units for <lifetime> tag attributes, explanation of, 99, 137

SAOs (server-activated objects)

accessing versions of, 170-172

calling with different delays for clients, 143-144

versus CAOs, 206

explanation of, 28-30

passing runtime information with, 296-297

presenting with servers, 80-81

registering on clients with <wellknown> property, 109-110

server-side implementation for IIS, 118-119

using asynchronous calls with, 183

SDLChannelSink, explanation of, 219

serializable objects, generating first version of, 177-178

[Serializable] objects

using in shared assemblies, 90

versioning, 174-179


benefits to versioning, 178

implementing, 14-15

serializing objects, 27-28

server-activated objects, versioning, 162-164

server applications, deploying, 111

server assemblies, explanation of, 15

server channels, implementing, 355-361

server-side asynchronous processing, performing, 233-235

server-side HTTP channel's sink stack, diagram of, 245

server-side messaging, examples of, 216-218. See also client-side messaging, messages

server-side objects

designing and developing for IIS, 118-119

using ObjRefs with, 68

server-side PriorityChangerSink code, 293-296

server-side sink chain with compression sink, diagram of, 250

server-side sink providers, creating, 258-260

server-side sinks. See also client-side sinks, sinks

creating, 244-245, 361-366

implementing for compression sinks, 255-258

initializing for encryption, 281

server-side sponsors

creating, 160

keeping alive, 156

pinging with clients, 157-158

using, 156-162

server-side transport sinks versus conventional channel sinks, 362

ServerContextTerminatorSink, explanation of, 220-221

server.cs file, generating with SoapSuds, 94, 183

ServerObjectTerminatorSink, explanation of, 221

ServerProviders and ClientProviders properties, role in configuration files, 102-106


advisory when running on same machine, 75

advisory when using events with, 187

creating for synchronous calls, 53-57

enhancing for versioned SAOs, 168-170

example for SingleCall SAO, 30-33

example with client-activated object, 39-40

implementing for MarshalByRefObject in Singleton mode, 17-19, 22-25

implementing for SoapSudsgenerated metadata, 80-81

implementing in sample multiserver configuration, 73-76

implementing IServerChannelSink on, 287-288

role in configuration files, 90-91, 95

role in sample multiserver configuration, 70

sample factory design pattern implementation for, 44-46

sample implementation for lifetime management, 140-142, 145

using binary encoding via HTTP with, 105-106

ServerStartup class, role in Singleton-object example, 34, 36

<service> property, role in configuration files, 106

shared assemblies

advantage of, 11-12

creating abstract base classes in, 78

implementing for sample multiserver configuration, 72-73

management of, 77-86

shared base classes, functionality of, 78

shared implementations, functionality of, 78

shared interfaces

for factory design pattern, 44

functionality of, 78

role in .NET Remoting, 12

sign-on process, securing, 131-133

single sign-on, enabling, 132-133

SingleCall SAOs

example of, 30-32

explanation of, 28

role in sample multiserver configuration, 74-75

Singleton mode, defining MarshalByReftObject in, 15-22

Singleton SAOs

example of, 33-36

explanation of, 28

tip about, 35

sink chains

defining in configuration files, 237-238

role in implementing client channels, 349-350

sink providers

behavior after invoking CreateSink() method, 242-243

creating, 258-260

examining <url> entries with, 305

understanding, 237-238

sinks. See also client-side sinks, server-side sinks

building for encryption helpers, 272

creating for clients, 350-355

creating for encryption, 274-280

using, 261-263

SinkStack, contents in asynchronous requests, 228-230

SMTP conversion, example of, 318-319

SMTP sessions, starting, 319

SMTP (Simple Mail Transfer Protocol)

encapsulating for channel source, 323-331

RFC for, 318


code for, 366-369

using, 369-371

SMTPClientChannel, parameters for, 346

SMTPClientTransportSinkProvider code, 350-351

SMTPHelperClass, connecting to .NET Remoting with, 336-339, 344

SMTPHelper.MessageReceived() static method, calling, 332-333

smtpServer parameter for SMTPClientChannel, 346, 356


parameters for, 356

versus SMTPClientChannel, 356-357

SMTPServerTransportSink, implementing, 362-364

sn.exe, generating key pairs with, 163

SOAP formatter, role in handling asynchronous responses, 233

SOAP (Simple Object Access Protocol) remoting framework, evolution of, 6-7

SoapClientFormatterSink, explanation of, 215

SoapFormatter, introduction to, 211

SoapServerFormatterSink, explanation of, 219


alternatives for starting of, 83

calling, 79

extracting metadata with, 167

generating nonwrapped proxy source with, 172-173

generating source code with, 93-95

SoapSuds -gc output for SAO, example of, 181-183

SoapSuds-generated metadata, examples of, 79-86

SoapSuds-generated proxies, using delegates with, 180-181

SoapSuds, role in .NET Remoting generated metadata assembly, 12

SoapSuds.exe, role in SAO example, 38-40

SoapType attribute, removing from server.cs, 183

source code

generating with SoapSuds, 93-95

simplifying for clients with wrapped proxies, 81-82


role in lifetime management, 49, 135-136

working with, 149

sponsorshipTimeout attribute

explanation of, 136

role in <lifetime> tag for configuration files, 99

SSL (Secure Socket Layers) encryption, advisory about, 134

StackBuilderSink, explanation of, 221

StartListening() method, calling for server channels, 357-358, 360

STAT command, role in POP3, 321

StopKeepAlive() method, calling for server-side sponsors, 159

strictBinding attribute for formatters and providers in configuration files, using, 104-105

strong naming

displaying for assemblies, 166

role in versioning, 162-164

suppressChannelData attribute, role in HTTP channels for configuration files, 101

symmetric encryption, example of, 269-274

synchronous calls

example of, 53-57

explanation of, 52

using RealProxy with, 203

synchronous messages, examples of, 214-216

SyncProcessMessage() method, implementing, 286-287

Advanced  .NET Remoting C# Edition
Advanced .NET Remoting (C# Edition)
ISBN: 1590590252
EAN: 2147483647
Year: 2002
Pages: 91
Authors: Ingo Rammer © 2008-2017.
If you may any questions please contact us: