【发布时间】:2016-09-13 05:35:43
【问题描述】:
所以我创建了一个 Azure Web 作业,它每 15 分钟执行一次特定任务。它运行一个 C# 控制台应用程序。问题是,在我上次上传程序时,我留下了 Console.ReadLine(); 参数,导致程序永远无法完成(当然用于本地调试)并且网络作业失败并且永远不会再次运行。如果我有源代码,这显然可以很快解决,但源代码在我的办公室,我忘记上传到我的云存储。直到本周晚些时候我才能访问它。
所以我正在寻找快速解决方案。我可以轻松下载上次上传的 .exe 程序。所以现在我在想的是先运行另一个程序来调用我的主程序,然后在一段时间后关闭它。我尝试了一个简单的 .bat 脚本,它能够成功打开程序,但由于访问被拒绝错误(在本地工作),它无法关闭/终止进程。还有其他适用于网络工作环境的快速建议吗?
显然,如果您几天后在这里看到此内容,我可能已经对问题根源的源代码进行了更正,但其他人可能也会感兴趣。 :)
更新:
谢谢大家!这些解决方案中的每一个都帮助我让我的网络工作按预期运行。使用 Reflector 进行反编译特别有用,这样我就可以将这个项目添加到云中,就像它假设的那样。但是,按照@evilSnobu 的建议使用 run.cmd 是按照我的问题要求应用解决方法的最简单和最简单的方法。
再次感谢您! :)
附:我从Console.ReadLine()切换;到System.Threading.Thread.Sleep(); 以防止将来发生任何事故。
【问题讨论】:
-
您能否反编译可执行文件以获取源代码并重新编译而不会出现违规行,直到您可以返回办公室?
-
一直很好奇,有什么反编译工具的建议吗?
-
过去,Reflector.NET 是首选,但您也许可以从 ILSpy 中获得所需的东西:ilspy.net
-
我忘了我已经安装了 .NET Reflector 9.0!立即查看。
-
成功了!代码有点偏离,但仍按预期工作。
标签: c# azure azure-webjobs