通过.net中的windows服务调用java类文件

时间:2010-12-23 03:53:10

标签: c# windows-services

我从C#中创建了用于调用java类文件的Windows服务。我用bat文件在C#中调用这个java文件。 java类的任务是创建输出文件。但是当声明服务输出文件没有创建时。当从bat文件调用时,java类是完全没有服务的perfeclty。 (但是任务管理器可以显示命令提示符的实例。)

是否可以通过windws servise中的bat文件调用java类?

3 个答案:

答案 0 :(得分:0)

我认为该问题可能与用户权限有关 - Windows服务通常在网络服务a / c下运行,可能无权在许多位置写入文件。因此,我建议您尝试在每个用户都具有写入权限的位置编写文件(或修改您要写入文件的文件夹权限)。

答案 1 :(得分:0)

这有点长,但你可以使用类似iKVM的东西直接从.NET调用Java类。

http://www.ikvm.net/

答案 2 :(得分:0)

我通过在程序中对我的bat文件代码进行硬编码来解决了这个问题。我还必须指定工作目录:

process1.EnableRaisingEvents = false;
//Process p ;

process1.StartInfo.UseShellExecute = false ;
string str = "my parameters";
process1.StartInfo.WorkingDirectory = @"C:\kesara";
//System.Diagnostics.Process.Start(batfilepath,);
process1.StartInfo.FileName = @"C:/j2sdk1.4.2_08/bin/java.exe";
process1.StartInfo.Arguments = str;
process1.Start();
process1.Close();