最简单的方法来实现客户端/服务器通信?

时间:2011-03-31 15:56:56

标签: c# .net client-server cross-domain

我正在编写一个应用程序,可以在非常长的时间内从MS AX Dynamics获取数据

AX(或我正在为之工作的公司)的问题是AX不允许跨域连接。

目前,我们的Active Directory(AD)上有2个域country1.company.com和country2.company.com,该应用程序适用于两个域,但AX位于country1.company.com上。事实上,所有country2用户在他们需要在AX上工作时RDP到country1,并且考虑到我们的地理距离,它非常慢。

为了解决这个问题,我正在考虑编写一个在country1上运行的独立(控制台)程序,以便用户可以将数据发送给它并让它查询AX并通过网络返回结果。

最大的问题是:

我是否必须像客户端服务器那样编写应用程序,还是可以使用现有的Windows功能来实现同样的功能?由于我没有网络编程经验,我希望我不必这样做......提前感谢任何建议。

2 个答案:

答案 0 :(得分:2)

您应该使用WCF类,而不是编写控制台应用程序和套接字。是的,这是网络,但任何与任何其他计算机对话的东西都是。您可能希望为此类功能设置WCF web service。这是一个不错的starter app as an example

答案 1 :(得分:1)

您可以使用thrift Link。 它可以跨编程语言进行高效可靠的通信。 您只需要在IDL文件中定义数据结构和服务接口。 Link

然后使用thrift编译器以您选择的一种受支持的编程语言生成RPC和数据序列化代码。

通过它,您可以获得序列化数据和RPC所需的基础结构。现在,您可以专注于您的业务逻辑。

P.S:这不是Windows功能。