C# 在计算机关闭时运行程序

C# 在计算机关闭时运行程序,c#,twitter,bots,C#,Twitter,Bots,我做了一个节目。它每小时自动推特一次。当电脑关机时,我能做些什么使它工作。例如,有一个名为@everycolorbot的帐户,该帐户的工作逻辑是什么?您可以使用Azure函数执行此操作,其中您只需支付计算时间: 创建一个新的。在VisualStudio中或联机。我的首选是VS,因为我可以将代码保存在源代码管理中。您可能需要打开Visual Studio安装程序并安装Azure工具-无论哪种方式,请查看我刚刚发布的Azure功能链接中的文档,以确保您使用的是最新信息 创建函数项目时,请选择一个

我做了一个节目。它每小时自动推特一次。当电脑关机时,我能做些什么使它工作。例如,有一个名为@everycolorbot的帐户,该帐户的工作逻辑是什么?

您可以使用Azure函数执行此操作,其中您只需支付计算时间:

  • 创建一个新的。在VisualStudio中或联机。我的首选是VS,因为我可以将代码保存在源代码管理中。您可能需要打开Visual Studio安装程序并安装Azure工具-无论哪种方式,请查看我刚刚发布的Azure功能链接中的文档,以确保您使用的是最新信息

  • 创建函数项目时,请选择一个

  • 采用默认值,它将为您创建一个新的功能项目:

  • 请注意,我将
    TimerTrigger
    参数属性上的chron设置设置为
    “0****”
    这将每小时启动一次函数。Azure有,它与Linux语法相匹配(因此您可以通过web搜索找到更多信息)

  • 最后,部署和监视—您可以访问以帮助您朝着正确的方向开始

  • 您可以使用Azure函数实现这一点,其中您只需支付计算时间:

  • 创建一个新的。在VisualStudio中或联机。我的首选是VS,因为我可以将代码保存在源代码管理中。您可能需要打开Visual Studio安装程序并安装Azure工具-无论哪种方式,请查看我刚刚发布的Azure功能链接中的文档,以确保您使用的是最新信息

  • 创建函数项目时,请选择一个

  • 采用默认值,它将为您创建一个新的功能项目:

  • 请注意,我将
    TimerTrigger
    参数属性上的chron设置设置为
    “0****”
    这将每小时启动一次函数。Azure有,它与Linux语法相匹配(因此您可以通过web搜索找到更多信息)

  • 最后,部署和监视—您可以访问以帮助您朝着正确的方向开始

  • 据我所知,电脑关机时无法运行程序。在计算机关闭时运行程序似乎是一个XY问题——可能需要将其打开或其他云主机。我把我的推特机器人放在heroku上,它每天运行一次。它在heroku上运行。我用c#编写了程序。我应该使用哪种云主机?@Myrias任何一种适合您需要的云主机。对于StackOverflow,征求建议是不恰当的。做一些研究,尝试一些选择,看看什么对你有效,什么对你无效;这看起来是在使用一个热循环,不断检查很少满足的时间条件;你真的应该仔细研究一下等待任务。延迟(…),例如
    等待任务。延迟(TimeSpan.FromMinutes(60))
    ——效率更高;请注意,这当然不会帮助您在计算机关闭时运行任何东西;为此,您需要在其他人的计算机上运行它,据我所知,可能需要以不同的方式编写它,当计算机关闭时,它无法运行程序。在计算机关闭时运行程序似乎是一个XY问题——可能需要将其打开或其他云主机。我把我的推特机器人放在heroku上,它每天运行一次。它在heroku上运行。我用c#编写了程序。我应该使用哪种云主机?@Myrias任何一种适合您需要的云主机。对于StackOverflow,征求建议是不恰当的。做一些研究,尝试一些选择,看看什么对你有效,什么对你无效;这看起来是在使用一个热循环,不断检查很少满足的时间条件;你真的应该仔细研究一下等待任务。延迟(…),例如
    等待任务。延迟(TimeSpan.FromMinutes(60))
    ——效率更高;请注意,这当然不会帮助您在计算机关闭时运行任何东西;为此,您需要在其他人的计算机上运行它,这可能需要以不同的方式编写。谢谢,但我无法理解。在哪里输入密钥和令牌?我已经用tweetinvi制作了一个控制台程序。我不能发布它吗?我将代码添加到question@Myrias你真的不想把问题中显示的代码发布到一个云服务器上运行,在那里你需要支付计算时间——你有一个热循环,所以它只是在燃烧计算;这里显示的方法是一种按计划方式运行某些东西的好方法,非常有效,但我无法理解。在哪里输入密钥和令牌?我已经用tweetinvi制作了一个控制台程序。我不能发布它吗?我将代码添加到question@Myrias你真的不想把问题中显示的代码发布到一个云服务器上运行,在那里你需要支付计算时间——你有一个热循环,所以它只是在燃烧计算;这里展示的方法是一种以计划的方式非常高效地运行某些东西的好方法
    using Microsoft.Azure.WebJobs;
    using Microsoft.Extensions.Logging;
    
    namespace TweetMyStuff
    {
        public static class MyTweetBot
        {
            [FunctionName("MyTweetBot")]
            public static void Run([TimerTrigger("0 * * * *")]TimerInfo myTimer, ILogger log)
            {
                // your tweet logic here
            }
        }
    }