C#如何在两台服务器之间进行通信
Posted
技术标签:
【中文标题】C#如何在两台服务器之间进行通信【英文标题】:C# How to communicate between 2 servers 【发布时间】:2011-02-20 07:58:54 【问题描述】:我有一个在 server A
上运行 ASP.NET (C#) 的网站。我需要我的网站来访问server B
上的网络服务。 server B
只会在被请求者位于特定 IP 范围内且 server A
不在此范围内时接受传入请求。
我有一个服务器 server C
,它位于 IP 范围内,唯一阻止 server A
访问 server C
的是防火墙(我可以访问)。一定可以在server A
和server C
之间的防火墙上创建一个洞,但我的问题是:
如何通过server C
将请求从server A
转发到server B
?
我还需要server B
的回复才能回复server A
:)
提前致谢。
【问题讨论】:
【参考方案1】:你可以看看 WCF;也许在服务器 C 上创建一个中间服务,在其他 2 之间进行调解。
【讨论】:
到目前为止,WCF 似乎是一个很好的解决方案。感谢您强迫我尝试 WCF ;)【参考方案2】:看看 HTTP 代理,有很多开源的,但我没有任何使用它们的经验,所以不能推荐。
如果失败,请查看套接字编程 (http://www.codeproject.com/KB/IP/socketsincsharp.aspx) - 您可以在服务器 A 和服务器 C 之间编写基于套接字的接口,然后服务器 C 将发送请求并将响应编组回服务器 A。
【讨论】:
以上是关于C#如何在两台服务器之间进行通信的主要内容,如果未能解决你的问题,请参考以下文章
使用 Visual Studio 2010 在 C# 中的两台不同机器上运行的客户端和服务器之间的通信