void StartThread(object threadNumber) { double sumTotalMilliseconds = 0; for (int i = 0; i <= ControllerTest.Storage.StorageObject.Calls - 1; i++) { if (stop) { break; } Stopwatch watch = new Stopwatch(); watch.Start(); isvcRes = _RemoteObj.ExecuteService(string.Empty, isvcReq); //System.Threading.Thread.Sleep(300); watch.Stop(); if (isvcRes.Error != null)//---> error FIN { if (FinalizeEvent != null) { FinalizeEvent(isvcRes.Error.Message); } lock (thisLock)//seccion critica { stop = true; } } if (CallEvent != null)// avisa que se ejecuto una llamada { CallEvent(); } sumTotalMilliseconds += watch.Elapsed.TotalMilliseconds; } double AVERAGE = sumTotalMilliseconds / ControllerTest.Storage.StorageObject.Calls; if (MessageEvent != null) { MessageEvent("Thread Nº", (int)threadNumber, AVERAGE, sumTotalMilliseconds); } doneEvents[(int)threadNumber].Set(); if ((int)threadNumber + 1 == doneEvents.Length) { if (FinalizeEvent != null) { FinalizeEvent(""); } } }
private void Form1_Load(object sender, EventArgs e) { ControllerTest.Storage.Load(); txtObjectUri.Text = ControllerTest.Storage.StorageObject.ObjectUri; txtServer.Text = ControllerTest.Storage.StorageObject.Server; txtPort.Text = ControllerTest.Storage.StorageObject.Port; txtURL.Text = string.Concat("tcp://", ControllerTest.Storage.StorageObject.Server, ":", ControllerTest.Storage.StorageObject.Port.Trim(), @"/", ControllerTest.Storage.StorageObject.ObjectUri); if (ControllerTest.Storage.StorageObject.SelectedServiceConfiguration.Request != null) { Fwk.Bases.IServiceContract isvcReq = (Fwk.Bases.IServiceContract)Fwk.HelperFunctions.ReflectionFunctions.CreateInstance(ControllerTest.Storage.StorageObject.SelectedServiceConfiguration.Request); } }
private void button1_Click_1(object sender, EventArgs e) { using (frmAssemblyExplorer f = new frmAssemblyExplorer()) { if (f.ShowDialog() == DialogResult.OK) { txtSvc.Text = f.SelectedServiceConfiguration.Name; ControllerTest.Storage.StorageObject.SelectedServiceConfiguration = f.SelectedServiceConfiguration; ControllerTest.Storage.Save(); Fwk.Bases.IServiceContract isvcReq = (Fwk.Bases.IServiceContract)Fwk.HelperFunctions.ReflectionFunctions.CreateInstance(ControllerTest.Storage.StorageObject.SelectedServiceConfiguration.Request); this.txtXmlRequest.Text = isvcReq.GetBusinessDataXml(); } } }
private void Form1_Load(object sender, EventArgs e) { ControllerTest.Storage.Load(); txtObjectUri.Text = ControllerTest.Storage.StorageObject.ObjectUri; txtServer.Text = ControllerTest.Storage.StorageObject.Server; txtPort.Text = ControllerTest.Storage.StorageObject.Port; txtSvc.Text = ControllerTest.Storage.StorageObject.Svc; txtXmlRequest.Text = ControllerTest.Storage.StorageObject.XmlRequest; txtSvc.Text = ControllerTest.Storage.StorageObject.SelectedServiceConfiguration.Name; numericThread.Value = Convert.ToDecimal(ControllerTest.Storage.StorageObject.Threads); numericCallsNumber.Value = Convert.ToDecimal(ControllerTest.Storage.StorageObject.Calls); txtURL.Text = string.Concat("tcp://", ControllerTest.Storage.StorageObject.Server, ":", ControllerTest.Storage.StorageObject.Port.Trim(), @"/", ControllerTest.Storage.StorageObject.ObjectUri); if (ControllerTest.Storage.StorageObject.SelectedServiceConfiguration.Request != null) { Fwk.Bases.IServiceContract isvcReq = (Fwk.Bases.IServiceContract)Fwk.HelperFunctions.ReflectionFunctions.CreateInstance(ControllerTest.Storage.StorageObject.SelectedServiceConfiguration.Request); this.txtXmlRequest.Text = isvcReq.GetBusinessDataXml(); } }
internal void Start(string xml) { stop = false; isvcReq = (Fwk.Bases.IServiceContract)Fwk.HelperFunctions.ReflectionFunctions.CreateInstance(ControllerTest.Storage.StorageObject.SelectedServiceConfiguration.Request); isvcRes = (Fwk.Bases.IServiceContract)Fwk.HelperFunctions.ReflectionFunctions.CreateInstance(ControllerTest.Storage.StorageObject.SelectedServiceConfiguration.Response); isvcReq.SetBusinessDataXml(xml); isvcReq.InitializeHostContextInformation(); doneEvents = new ManualResetEvent[ControllerTest.Storage.StorageObject.Threads]; for (int i = 0; i <= ControllerTest.Storage.StorageObject.Threads - 1; i++) { doneEvents[i] = new ManualResetEvent(false); ThreadPool.QueueUserWorkItem(new WaitCallback(StartThread), i); if (stop) { break; } } }
internal void Start(string xml) { stop = false; isvcReq = (Fwk.Bases.IServiceContract)Fwk.HelperFunctions.ReflectionFunctions.CreateInstance(ControllerTest.Storage.StorageObject.SelectedServiceConfiguration.Request); isvcRes = (Fwk.Bases.IServiceContract)Fwk.HelperFunctions.ReflectionFunctions.CreateInstance(ControllerTest.Storage.StorageObject.SelectedServiceConfiguration.Response); isvcReq.SetBusinessDataXml(xml); isvcReq.InitializeHostContextInformation(); doneEvents = new ManualResetEvent[ControllerTest.Storage.StorageObject.Threads]; for (int i = 0; i <= ControllerTest.Storage.StorageObject.Threads - 1; i++) { doneEvents[i] = new ManualResetEvent(false); ThreadPool.QueueUserWorkItem(new WaitCallback(StartThread), i); if (stop) break; } }
void StartThread(object threadNumber) { double sumTotalMilliseconds = 0; for (int i = 0; i <= ControllerTest.Storage.StorageObject.Calls - 1; i++) { if (stop) break; Stopwatch watch = new Stopwatch(); watch.Start(); isvcRes = _RemoteObj.ExecuteService(string.Empty, isvcReq); //System.Threading.Thread.Sleep(300); watch.Stop(); if (isvcRes.Error != null)//---> error FIN { if (FinalizeEvent != null) FinalizeEvent(isvcRes.Error.Message); lock (thisLock)//seccion critica { stop = true; } } if (CallEvent != null)// avisa que se ejecuto una llamada CallEvent(); sumTotalMilliseconds += watch.Elapsed.TotalMilliseconds; } double AVERAGE = sumTotalMilliseconds / ControllerTest.Storage.StorageObject.Calls; if (MessageEvent != null) MessageEvent("Thread Nº", (int)threadNumber, AVERAGE, sumTotalMilliseconds); doneEvents[(int)threadNumber].Set(); if ((int)threadNumber + 1 == doneEvents.Length) if (FinalizeEvent != null) FinalizeEvent(""); }