Message sinks and contexts are key elements of the .NET Remoting infrastructure. As we saw in this chapter, message sinks allow you to intercept .NET Remoting messages at various points in both the client and server contexts. As we demonstrated, contexts allow the developer to define various services available to all objects executing within them. Examples of such services include message tracing and exception logging. Because the envoy sink chain executes in the client context, it s the perfect choice for validating method parameters prior to transmission. The .NET Remoting architecture allows for further customization via channels and channel sinks, which are the subject of the next chapter.