public void DoWork(object state, string mobileno) { Interlocked.Increment(ref iActiveTasks); DiameterClient clnt = (DiameterClient)state; ServiceResult sr = clnt.fnGetSubscriberInfo(mobileno); Interlocked.Decrement(ref iActiveTasks); //Display Service Result //foreach (clsServiceParam sp in sr.mData) // Console.WriteLine("Param = " + sp.pName + ", Value=" + sp.pValue); }
static void Main(string[] args) { try { DiameterClient evcClient = new DiameterClient(); //evcClient.stackContext = DiameterAAAStack.Initialize(); /**Test Case#1 CHECK_BALANCE*/ //for (int i = 0; i < 100; i++) //{ //clsServiceResult sr = evcClient.fnGetSubscriberInfo("617066600"); //clsServiceResult sr = evcClient.fnRechargeSubscriber("312132132", "617066600", 100, 10); //GPRS Recharge // clsServiceResult sr = evcClient.fnPromoteSubscriber("312132142", 4, "617066600", 5, 900); //Bundle Recharge //clsServiceResult sr = evcClient.fnBundleRechargeSubscriber("312132142","617066600", "4"); //Display Service Result //foreach (clsServiceParam sp in sr.mData) // Console.WriteLine("Param = " + sp.pName + ", Value=" + sp.pValue); ClientMain MainClient = new ClientMain(); TimeSpan JobStart = new TimeSpan(DateTime.Now.Ticks); MainClient.StartClient(); Console.WriteLine("Active Tasks:" + iActiveTasks); while (iActiveTasks != 0) { Console.WriteLine("Active Tasks:" + iActiveTasks); } TimeSpan JobEnd = new TimeSpan(DateTime.Now.Ticks); // DiameterStack.Common.StackLog.Write2ErrorLog("Main","\n\nJob took:" + JobEnd.Subtract(JobStart).TotalSeconds + " seconds to complete"); Console.WriteLine("\n\nJob took:" + JobEnd.Subtract(JobStart).TotalSeconds + " seconds to complete"); Console.ReadLine(); } catch (Exception exp) { Console.WriteLine(exp.ToString()); //Console.ReadLine(); } }
/// <summary> /// /// </summary> public void StartClient() { DiameterClient Evc = new DiameterClient(); Evc.stackContext = DiameterAAAStack.Initialize(); int mobnum = 615551110; for (int x = 0; x < 10; x++) { for (int i = 0; i < 20; i++) { Thread t = new Thread(() => DoWork(Evc, mobnum.ToString())); t.Start(); mobnum++; iTaskCnt++; //DoWork(Evc); } Thread.Sleep(1000); } }