A WCF Perf Mystery
Anyone can tell me why this is taking a tad over 11 seconds?
1: class Program2: {3: static void Main(string[] args)4: {5: try6: {7: var sw = Stopwatch.StartNew();8: var host = new ServiceHost(new Srv(), new Uri("net.tcp://localhost:5123"));9: host.AddServiceEndpoint(typeof (ISrv), new NetTcpBinding(), new Uri("net.tcp://localhost:5123"));10: host.Open();11:12: var srv = ChannelFactory<ISrv>.CreateChannel(new NetTcpBinding(),13: new EndpointAddress(new Uri("net.tcp://localhost:5123")));14: srv.Test("hello"); // if I remove this, it finishes in 0.3s - 0.5s15:16: host.Close();17:18: Console.WriteLine(sw.Elapsed);19: }20: catch (Exception e)21: {22: Console.WriteLine(e);23: }24: }25: }26:27: [ServiceContract]28: public interface ISrv29: {30: [OperationContract]31: int Test(string x);32: }33:34: [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, ConcurrencyMode = ConcurrencyMode.Multiple)]35: public class Srv : ISrv36: {37: public int Test(string x)38: {39: return x.GetHashCode();40: }41: }
The reason that I care is that I am doing that in my tests, and this is significantly slow them down.
Is there anything that I am missing?

Comments
Comment preview