WCF Channel y ChannelFactory Caching

Así que decidí aumentar un poco el rendimiento en mi aplicación WCF e intentar almacenar en caché los canales y ChannelFactory. Hay dos preguntas que tengo sobre todo esto que necesito aclarar antes de comenzar.

1) ¿Se debe implementar ChannelFactory como singleton?

2) No estoy seguro de cómo almacenar en caché / reutilizar canales individuales. ¿Tiene algún ejemplo de cómo hacer esto que pueda compartir?

Probablemente sea importante tener en cuenta que mi servicio WCF se está implementando como una aplicación independiente, con solo un punto final.

EDITAR

Gracias por las respuestas. Sin embargo, todavía tengo algunas preguntas ...

1) Creo que estoy confundido sobre dónde debería ocurrir el almacenamiento en caché. Estoy entregando una API de cliente que usa este código a otro departamento de nuestra empresa. ¿Se produce este almacenamiento en caché en el cliente?

2) La API del cliente se utilizará como parte de una aplicación Silverlight, ¿esto cambia algo? En particular, ¿qué mecanismos de almacenamiento en caché están disponibles en tal escenario?

3) Todavía no tengo claro el diseño del método GetChannelFactory. Si solo tengo un servicio, ¿solo se debe crear y almacenar en caché un ChannelFactory?

Todavía no he implementado ninguna función de almacenamiento en caché (¡porque estoy completamente confundido acerca de cómo debería hacerse!), Pero esto es lo que tengo para el proxy del cliente hasta ahora:

namespace MyCompany.MyProject.Proxies
{
    static readonly ChannelFactory<IMyService> channelFactory =
        new ChannelFactory<IMyService>("IMyService");

    public Response DoSomething(Request request)
    {
        var channel = channelFactory.CreateChannel();

        try
        {
            Response response = channel.DoSomethingWithService(request);
            ((ICommunicationObject)channel).Close();
            return response;
        }
        catch(Exception exception)
        {
            ((ICommenicationObject)channel).Abort();
        }
    }
}

Respuestas a la pregunta(3)

Su respuesta a la pregunta