我有一个托管作业服务器的c#客户端应用和服务。 例: 服务有类和3种方法
public class TransferData
{
..
TransferToSQLServer
TransferToRDS
TransferToAzure
}
客户端应用程序对此类一无所知。 客户如何创建作业以通过这些方法之一传输数据? 客户端应用程序必须在其代码中具有此类的副本才能知道此类型以创建作业吗?
答案 0 :(得分:1)
在不同系统之间传输数据是一种很好的做法,不同的域,您必须使用服务总线进行集成。 usualy服务总线是使用RabbitMQ或ActiveMQ等队列服务器实现的。在这种情况下,所涉及的两个系统都需要了解一个简单的POCO类,称为契约。
此合同必须是所有应用程序的知识,并且是您在应用程序之间传输的消息。当应用程序“发布”消息时,您可以让许多其他应用程序“监听”交换等待消息。收到邮件后,请进行必要的处理。
使用此方法,您可以集成应用程序和不同语言。
转发基本消息(简单字符串)的基本示例: https://www.rabbitmq.com/tutorials/tutorial-one-dotnet.html
您还可以添加以上图层,如MassTransit(免费)或NServiceBus(商业版) 一个例子: http://docs.masstransit-project.com/en/latest/configuration/quickstart.html