使用AWS C#中托管的.net核心的Windows服务等效项

我已经编写了几个Windows服务,它们充当2个独立供应商的中间件。该服务将请求发送到第一卖方,处理响应,然后将格式化的数据发送到第二卖方。这些进程在服务的后台每隔X秒运行一次。该服务将TCP和json用于传输和数据类型。

除了记录之外,这些服务通常不执行上述操作。

我一直在用Windows / .net编写eons,并试图冒险进入AWS或Azure来运行这些特定资产。我只是在Lambda和Functions上打了水漂,已经感到不知所措。

任何入门的方向都将不胜感激。

billagg 回答:使用AWS C#中托管的.net核心的Windows服务等效项

您可以使用Azure函数+时间触发器来做到这一点。这是一个示例:

[FunctionName("TimerTriggerCSharp")]
public static void Run([TimerTrigger("0 */5 * * * *")]TimerInfo myTimer,ILogger log)
{
    if (myTimer.IsPastDue)
    {
        log.LogInformation("Timer is running late!");
    }
    log.LogInformation($"C# Timer trigger function executed at: {DateTime.Now}");
}

请注意,它具有CRON表达式以指定触发器的频率。

https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-timer

PS:据我所知,AWS Lambda上没有时间触发。

,

如果您正在寻找集成的东西,可以查看Hangfire。您可以将其作为单独的Dot Net Core App运行,然后与云无关。您仍然可以使用Azure或AWS的无服务器选项运行。基本上,它是一个任务运行程序,您可以安排循环代码运行,所有这些都可以从c#中进行。我工作的公司使用它来发送和处理电子邮件以及从供应商处提取和导入数据。

我将其设置在一个空的Dot Net Core项目中,这样我就可以为其提供自己的资源,而不会减慢最终用户的交互。它也可以附加到现有应用程序上。

您可以在此处找到更多信息:https://www.hangfire.io/

希望这会有所帮助。

本文链接:https://www.f2er.com/3101192.html

大家都在问