将Web应用程序连接到控制台应用程序vb.net时的会话超时

时间:2018-06-22 06:38:47

标签: asp.net vb.net oracle

我是StackOverflow的新手,请帮助

当我使用以下命令将Web应用程序与控制台应用程序连接时,我有两台服务器,一台是开发服务器,另一台是SIT。

 Dim P As New Process                   

 P.StartInfo.FileName = "C:\inetpub\wwwroot\XYZ\XYZ.exe"                   
 P.StartInfo.Arguments = Batch_ID
 P.Start()

当我在SIT环境中进行连接时,控制台应用程序将一直运行到任务完成为止;而当我在Dev Server中进行连接时,控制台应用程序将在一段时间后关闭,而无法完成整个任务。

我已经检查了所有设置寿命的应用程序池时间,服务器理想时间都相同。

请为我提供解决方案,因为在此问题上,我无法找到其他选择。

1 个答案:

答案 0 :(得分:0)

是否要使用asp.net打开.exe文件?

为了简化配置,我们将exe的位置保留在web.config的appsettings中,以便可以轻松配置它。

<appSettings> <add key="EXELOC" value="C:\inetpub\wwwroot\XYZ\"/> </appSettings>

从ASP.Net调用exe

运行ASP.Net的服务帐户应具有对exe位置的正确访问权限,并且应具有对exe试图访问的资源的所有访问权限;否则代码将无法启动exe。

有时,需要指定其他设置才能在运行服务器的exe上具有控件。 System中的ProcessStartInfo类。诊断名称空间可以在这些情况下帮助我们实现目标。请参考下面的代码,

protected void btnStart_Click(object sender, EventArgs e)
{
    string locn = ConfigurationManager.AppSettings["EXELOC"];
    Process myProcess = new Process();
    try
    {
        myProcess.StartInfo.UseShellExecute = false;
        myProcess.StartInfo.FileName = locn + "XYZ.exe";
        myProcess.StartInfo.CreateNoWindow = true;
        myProcess.Start();                  
    }
    catch (Exception ex)
    {
       Response.Write(ex.Message);
    }
}