Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 一台服务器上的进程调用另一台服务器上的控制台应用程序-DirectoryNotFoundException_C#_.net_Networking_Localhost - Fatal编程技术网

C# 一台服务器上的进程调用另一台服务器上的控制台应用程序-DirectoryNotFoundException

C# 一台服务器上的进程调用另一台服务器上的控制台应用程序-DirectoryNotFoundException,c#,.net,networking,localhost,C#,.net,Networking,Localhost,我开发了一个带有一些参数的控制台应用程序。在这个控制台应用程序中,我指定了日志目录、持久性目录等的路径。。。我们将在一个完全不同的服务器上有一个进程,它将调用我的控制台应用程序并启动它。当我们测试它时,它当前是错误的。问题在于路径无效。这就像它试图将日志目录映射到调用方服务器路径,而不是将exe部署到的路径。例如,我有服务器A和服务器B。我的控制台应用程序已部署到serverB。ServerA将在serverB上调用我的exe。当控制台应用程序启动时,它会出现DirectoryNotFoundE

我开发了一个带有一些参数的控制台应用程序。在这个控制台应用程序中,我指定了日志目录、持久性目录等的路径。。。我们将在一个完全不同的服务器上有一个进程,它将调用我的控制台应用程序并启动它。当我们测试它时,它当前是错误的。问题在于路径无效。这就像它试图将日志目录映射到调用方服务器路径,而不是将exe部署到的路径。例如,我有服务器A和服务器B。我的控制台应用程序已部署到serverB。ServerA将在serverB上调用我的exe。当控制台应用程序启动时,它会出现DirectoryNotFoundException错误。我将路径指定为L:\Logs\log.log或\localhost\L\Logs\log.log。在我看来,现在发生的事情是,由于ServerA在ServerB上调用我的exe,当我希望它是ServerB时,它认为L:或localhost是ServerA。有什么想法吗?

这个问题让人非常困惑。我想知道您是否认为一台机器上的进程只需将可执行文件放在属于另一台机器的驱动器上,就可以启动另一台机器上的进程。这根本不起作用。启动的进程将与启动它的进程在同一台机器上运行,当然,这两个进程对磁盘和路径等都有相同的视图。我不知道如何更好地描述它。因此,我有一个控制台应用程序,并将其部署到serverB(\\serverB\N\MyApp\MyApp.exe)上的目录中。现在有东西会触发一个作业在另一台服务器ServerA上启动,该服务器将调用我的控制台应用程序。因此,要测试这一点,如果我转到serverA上的命令行,我可以通过调用“\\ServerB\N\MyApp\MyApp.exe”来执行我的控制台应用程序。这确实启动了我的控制台应用程序。但我的代码是在C代码中设置日志路径和各种其他路径。所以我有一行类似var logFile=“\\localhost\L\Logs\log.log”。这会抛出一个目录NotFoundException啊!字符串文字不是你想象的那样。在字符串前面加上@,如下面的
@“\\localhost\L\Logs\log.log”
。我还尝试设置logFile=L:\Logs\log.log。它还抛出directoryNotFoundException。日志路径应该存在于我的控制台应用部署到的服务器B上。但它的行为是,它试图在我调用的服务器A上查找日志路径。此外,如果我登录到服务器B并转到命令行并从同一服务器执行我的exe,我就可以使用它。它可以找到日志目录。它只在我从其他服务器呼叫时出错。