Calling a console application from the web on button click event
How to call a console application from the web on button click.
Introduction
I am sharing here the code to call a console application from a web on a button click event. We can track the begin and end time of the application here. The most important thing is we can also check whether the process is already running priorly or not.
The code snippet is as follows:
protected void btnStartProcess_Click(object sender, EventArgs e)
{
// We can configure the path from the web config file too
string filePath = @"C:\\Users\\arnav\\Desktop\\Phrase value Util\\abc.exe";
System.Diagnostics.ProcessStartInfo info =
new System.Diagnostics.ProcessStartInfo(filePath, "");
//System.Diagnostics.Process p = System.Diagnostics.Process.Start(info);
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo = info;
//while (p.Responding)
while (!IsProcessOpen("abc"))
//Here we can check for the application is running priorly or not
{
p.Start();
//This line gets the start time of the process
string startTime = p.StartTime.ToString();
Response.Write(startTime);
}
string endTime = p.ExitTime.ToString();
//This line gets the end time of the process
Response.Write(endTime);
}
public bool IsProcessOpen(string name)
{
//here we're going to get a list of all running processes on
foreach (Process clsProcess in Process.GetProcesses())
{
if (clsProcess.ProcessName.Contains(name))
{
return true;
}
}
return false;
}
Here we can check the process is priorly open or not from web itself. This will help us in finding a single application running instances. It prevents the multiple instances at server.
In this way we can call a console application from a web application using a button click event. Hopw this will be helpfull to all.