I have a service code :
[ServiceContract]publicinterfaceIService1{[OperationContract]voidMyOperation1();}[ServiceBehavior(InstanceContextMode=InstanceContextMode.PerSession,ConcurrencyMode=ConcurrencyMode.Multiple)]publicclass service1 :IService1{public service1(){Console.WriteLine("creating instance");}publicvoidMyOperation1(){Console.WriteLine("starting..");Console.WriteLine(System.Threading.Thread.CurrentThread.ManagedThreadId);Thread.Sleep(1000);Console.WriteLine("Ending..");}}
I have a client code:
staticvoidMain(string[] args){Thread[] t =newThread[10];NetTcpBinding myBinding =newNetTcpBinding();EndpointAddress myEndpoint =newEndpointAddress("net.tcp://localhost:8000/MyService");ChannelFactory<IService1> myChannelFactory =newChannelFactory<IService1>(myBinding, myEndpoint);IService1 instance = myChannelFactory.CreateChannel();for(int i =0; i <10; i++){
t[i]=newThread(newThreadStart(delegate(){
instance.MyOperation1();}));}for(int i =0; i <10; i++){
t[i].Start();}}
My calls to service are being proccessed one by one. Can I get the calls concurrently processed?