private TServiceInterface CreateServiceProxy <TServiceInterface>(Uri serviceUri, ServicePartitionKey partitionKey, TargetReplicaSelector targetReplicaSelector, string listenerName, Type serviceInterfaceType, ServiceProxyGenerator proxyGenerator) { var clientFactory = this.GetOrCreateServiceRemotingClientFactory(serviceInterfaceType); var serviceRemotingPartitionClient = new ServiceRemotingPartitionClient( clientFactory, serviceUri, partitionKey, targetReplicaSelector, listenerName, this.retrySettings); return((TServiceInterface)(object)proxyGenerator.CreateServiceProxy(serviceRemotingPartitionClient, clientFactory.GetRemotingMessageBodyFactory() )); }