Hangfire.io: 如何使用服务器类型创建作业?

Hangfire.io: How to create job using server type?

我有一个托管作业服务器的 c# 客户端应用程序和服务。 例子: 服务有 class 和 3 个方法

public class TransferData
{
..
TransferToSQLServer
TransferToRDS
TransferToAzure
}

客户端应用程序对此一无所知class。 客户端如何创建作业以通过其中一种方法传输数据? 客户端应用程序必须在其代码中具有此 class 的副本才能知道此类型以创建工作吗?

在不同的系统之间传输数据是一种很好的做法,因此,不同的域,您必须使用服务总线进行集成。通常服务总线是用队列服务器实现的,比如 RabbitMQ 或 ActiveMQ。在这种情况下,两个相关系统都需要知道一个简单的 POCO class,称为 Contract.

此合同必须是所有应用程序的知识,并且是您在应用程序之间传输的消息。当一个应用'publish'一个消息时,可以有多个其他应用'listening'一个交换等待消息。并在收到消息后,进行必要的处理。

使用此方法,您可以集成应用程序和不同的语言。

下面是一个传输基本消息(简单字符串)的基本示例: https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html

您还可以在上面添加一层,例如 MassTransit(免费)或 NServiceBus(商业) 一个例子: http://docs.masstransit-project.com/en/latest/configuration/quickstart.html