在IIS环境中获取C#CGI EXE名称

时间:2018-01-18 16:45:43

标签: c# iis

我在Windows Server 2008 R2 Standard上的IIS 6上运行C#控制台应用程序(使用Visual C#2008编译)作为CGI应用程序。它作为一个简单的API,接受来自Web的参数并打印HTTP输出。

我希望有两个可用的版本,test和live,它们使用相同的编译EXE但具有不同的文件名。因此,我编译Client.exe,将其放在服务器上,并将其复制并重命名为ClientTEST.exe。在运行时,我想检查EXE名称,以便在实时和测试行为之间进行选择。

如何在此IIS启动的环境中获取真正的EXE名称?我尝试过(i)System.Diagnostics.Process.GetCurrentProcess.Name和(ii)System.Windows.Forms.Application.ExecutablePath。但是,它们都给出了编译EXE的原始名称,而不是我将其重命名为的名称。

1 个答案:

答案 0 :(得分:0)

原来这是一个IIS配置错误,而不是.NET问题。在网站的“处理程序映射”下,* .exe被配置为每次都打开相同的EXE。所以我没有看到Application.StartupPath返回编译时的EXE名称,而是它没有运行我认为的EXE。