c#-通过已知端口进行服务器间通信
作者:互联网
我们的产品系统由IIS 6.0服务器组成,其后是Java SOA服务器,而后两者都是Oracle数据库服务器.
由于各种原因,我们需要在Java SOA服务器上运行Windows服务,该服务存储与GUID相关的不透明Blob.这是接口的简化版本:
interface IBlobService
{
void PutBlob(Guid key, byte[] data);
byte[] GetBlob(Guid key);
}
IBlobService的主要用户是在IIS服务器上运行的Web前端.我们可以通过自定义端口使用WCF或.NET远程进行服务器之间的通信.但是,我们的申请必须遵守严格的认证要求.我们非常希望使用已知的端口进行通信,而不是使用自定义端口.
我们不能使用命名管道,因为我们需要在服务器之间进行通信.
我们已经考虑过使用MSMQ,因为它使用已知端口,但是MSMQ将消息大小限制为4 MB.我们需要传输的远不止于此-至少要传输60 MB.
.NET公开了哪些其他功能(如果有)可以允许服务器之间通过已知端口进行通信?
解决方法:
如果选择MSMQ,我将对数据进行分块并重新组装.
消息主体的内容是不透明的,因此每个块数据都可能包含id,序列,大小和CRC等数据.
您可能要考虑WCF二进制流.请参阅MSDN上的文章:http://msdn.microsoft.com/en-us/library/ms733742.aspx
标签:net-remoting,msmq,wcf,c,net 来源: https://codeday.me/bug/20191208/2091487.html