【发布时间】:2011-08-05 22:27:51
【问题描述】:
我有这种方法,它通过在我们的服务器上运行 exe 程序来生成许可证:
/// <summary>
/// Generate a new license
/// </summary>
public static void GenerateLicense(string Name, string EmailAddress, Licensing.Types.LicenseType Type, Licensing.Types.ProductTypes Product)
{
string Params = "\"" + Licensing.Types.LicenseTypeToString(Type) + "\" \""
+ Licensing.Types.ProductTypeToString(Product)
+ "\" \"" + Name + "\" \""
+ EmailAddress + "\"";
// Start license executable and pass in all the params
Process.Start(Settings.LicenseExecutableLocation, Params);
}
它没有抛出任何错误,也没有明显地运行程序(它应该在服务器上创建一些文件)。可执行文件(Settings.LicenseExecutableLocation)的位置是C:\inetpub\wwwroot\licensegen.exe,这是正确的,参数也是正确的(我已经打印出来了)。
我正在运行 IIS7,它根本没有抛出 任何 错误,我需要在 IIS7 中进行更改吗?
【问题讨论】:
-
文件根本没有运行(通过检查进程资源管理器验证),或者只是没有输出文件?
-
您使用的是 Server 2008 吗?您是否尝试过从命令行运行该进程?
-
谁在调用这个方法?每个网络请求(可能不是)或启动代码?
-
@Tom 我认为 Process Explorer (technet.microsoft.com/en-us/sysinternals/bb896653) 将跟踪进程是否打开然后快速关闭,因此您可以查看它是否真正开始。
标签: c# asp.net iis-7 executable