Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/300.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从云到内部网络的信号_C#_Azure_Messaging - Fatal编程技术网

C# 从云到内部网络的信号

C# 从云到内部网络的信号,c#,azure,messaging,C#,Azure,Messaging,我们有一个基于微服务的应用程序/网站,目前托管在Azure中,我们需要有一个功能,按下按钮,它将一些数据发送到当前托管在我们公司网络中的另一个Web服务 我们的IT董事会反对在我们的网络中发布服务,我想知道人们通常如何处理这个问题 我能想到两种可能的解决方案,我都不特别喜欢: 为内部网络设置VPN,这对我来说是一个沉重的解决方案 内部网络服务连续轮询云应用程序的状态变化,当记录变化时,会触发更新过程。这将产生比我理想情况下想要的更多的流量 其他人如何解决这个问题?本质上,我只是想以一种安全的方式

我们有一个基于微服务的应用程序/网站,目前托管在Azure中,我们需要有一个功能,按下按钮,它将一些数据发送到当前托管在我们公司网络中的另一个Web服务

我们的IT董事会反对在我们的网络中发布服务,我想知道人们通常如何处理这个问题

我能想到两种可能的解决方案,我都不特别喜欢:

为内部网络设置VPN,这对我来说是一个沉重的解决方案 内部网络服务连续轮询云应用程序的状态变化,当记录变化时,会触发更新过程。这将产生比我理想情况下想要的更多的流量 其他人如何解决这个问题?本质上,我只是想以一种安全的方式将一些数据从云端发送到我们的网络中。从我们的网络中拉是可以的,但推到网络中却不行。
即使发送一个信号让内部网络启动拉也可以正常工作。

您提出的两种解决方案都是Azure体系结构中相当常见的模式。在这两种情况中,第二种是我通常会为这个特定场景选择的,但它确实取决于你需要推动的速度。VPN将是最快的,因为您的Azure服务和内部服务之间有直接连接,但是为单个管道设置VPN要复杂一些

第二种方法通常是通过消息传递服务来实现的,例如,它为这种安排增加了很多弹性。您可以根据您定义的时间间隔将onprem服务配置为ping服务总线—如果您需要快速进行更新,则更频繁,如果您希望减少流量,则更少频繁。根据数据的大小,您可以将其直接加载到服务总线中进行拾取,或者消息可以包含所需数据的位置。是消息传递服务的另一个选项。它发送通知,而不是等待您进行投票,因此,如果您希望ping您的onprem服务以获取更改,这将是一个不错的选择


如果您愿意使用Logic应用程序进行推送,它将通过您在网络中安装的应用程序访问onprem资源。它确实在后台使用服务总线来实现这一点,因此您将使用第二个解决方案,但从开发的角度来看,它会稍微简单一些。

我们在DMZ中运行的API网关后面抽象出内部API,然后第三方服务可以使用API密钥发布到网关,它验证请求并将其转发给内部API。但不确定这是否适合你的情况。