protected virtual void InvokeMethod(Action <T> action) { if (HasOpenChannel) { action(m_channel.Client); } else { ServiceClientFactory.InvokeMethod <T>(action, CreateInstance); } }
protected virtual TResult InvokeMethod <TResult> (Func <T, TResult> action) { return(HasOpenChannel ? action(m_channel.Client) : ServiceClientFactory.InvokeMethod <T, TResult>(action, CreateInstance)); }
protected virtual ServiceClientWrapper <T> CreateInstance() { return(ServiceClientFactory.CreateAndWrap <T>()); }