首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ReadLine()留在

ReadLine()留在
EN

Stack Overflow用户
提问于 2016-09-12 18:53:41
回答 2查看 332关注 0票数 0

所以我创建了一个Azure Web作业,它每15分钟执行一次特定的任务。它运行一个C#控制台应用程序。问题是,在我最后一次上传我的程序时,我把我的Console.ReadLine();参数放在里面,导致程序永远不会完成(当然是用于本地调试),并且网络作业失败了,再也不能运行了。如果我有源代码,这显然可以很快解决,但源代码在我的办公室,我忘记上传到我的云存储。我要到本周晚些时候才能拿到它。

所以我想找个快速解决办法。我可以下载最后一次上传的.exe程序。所以现在我想的是先运行另一个程序,调用我的主程序,然后在一段时间后关闭它。我尝试了一个简单的.bat脚本,它能够成功地打开程序,但是由于访问被拒绝的错误(在本地工作),它无法关闭/终止进程。还有其他在网络工作环境中有效的快速建议吗?

显然,如果您在几天内看到这一点,我可能已经更正了问题根源所在的源代码,但其他人也可能感兴趣。:)

更新:

谢谢大家!这些解决方案中的每一个都帮助我使我的网络工作按预期运行。使用Reflector进行反编译特别有用,这样我就可以像它假设的那样将这个项目添加到云中。然而,使用@evilSnobu建议的run.cmd是应用我问题中所要求的解决方法的最简单和最简单的方法。

再次谢谢!)

我从Console.ReadLine();转到System.Threading.Thread.Sleep();,以防止将来发生任何事故。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-12 19:34:16

代码语言:javascript
复制
public class Program
    {
        public static void Main()
        {
            Console.WriteLine("Hello World!");
            Console.ReadLine();
            Console.WriteLine("After ReadLine");
        }
    }

尝试以echo '\n' | helloconsole.exe的形式运行您的网络作业

在库都的测试:

代码语言:javascript
复制
D:\home\tmp>echo '\n' | helloconsole.exe
Hello World!
After ReadLine

D:\home\tmp>echo '\n' | helloconsole.exe
Hello World!
After ReadLine

..seems把它弄下来。

如果在run.cmd中删除它,它将优先于您的.exe二进制文件。https://github.com/projectkudu/kudu/wiki/Web-jobs

我们使用以下逻辑来确定哪个文件是要在作业目录中运行的脚本:

  • 在每个文件类型中,我们首先查找一个名为:run.{file type extension}的文件(例如,run.cmd或run.exe)。
票数 3
EN

Stack Overflow用户

发布于 2016-09-12 19:27:43

尝试使用以下命令来终止该进程:

代码语言:javascript
复制
d:\devtools\sysinternals\pskill /accepteula YourProcessName

您可以先在苦斗控制台中练习运行这个程序。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39456893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档