跨平台RPC for .NET服务

时间:2021-07-17 02:15:49

I have a .NET 2.0 service that is currently accessed via .NET remoting, and I would like to add support for another RPC method that allows a wider range of platform and language support.

我有一个.NET 2.0服务,目前通过.NET远程访问,我想添加对另一个RPC方法的支持,允许更广泛的平台和语言支持。

All of the API methods take and return XML and simple types like int.

所有API方法都接受并返回XML和简单类型,如int。

I know about CORBA and IIOP.NET which look promising.

我知道CORBA和IIOP.NET看起来很有前景。

What other technologies should I be looking at?

我应该关注哪些其他技术?

2 个解决方案

#1


If possible, probably the best thing to be using for this would be:

如果可能的话,可能最好用的是:

Windows Communication Foundation (WCF)

Windows Communication Foundation(WCF)

WCF seems to be (slowly but surely) replacing .NET remoting, and once you have a set of classes/functionality that is written to use WCF (which mostly involves decorating your classes/methods with attributes and usage of interfaces to define contracts - all standard OOP best practises anyway) you can expose that functionality over a number of different communication mechanisms, all of which can be controlled via simple config files.

WCF似乎(缓慢但肯定地)取代了.NET远程处理,并且一旦你有一组类/功能被编写为使用WCF(主要涉及使用属性和接口的用法来装饰你的类/方法来定义合同 - 所有无论如何,您可以通过许多不同的通信机制公开该功能,所有这些都可以通过简单的配置文件进行控制。

Windows Communication Foundation (WCF) provides a unified framework for rapidly building service-oriented applications that makes it easy to build and consume secure, reliable, and transacted Web services.

Windows Communication Foundation(WCF)为快速构建面向服务的应用程序提供了一个统一的框架,可以轻松构建和使用安全,可靠和事务处理的Web服务。

WCF’s single programming model unifies the capabilities in ASMX, WSE, Remoting, COM+, and MSMQ; therefore developers need to learn only one programming model.

WCF的单一编程模型统一了ASMX,WSE,Remoting,COM +和MSMQ中的功能;因此开发人员只需要学习一种编程模型。

In addition, WCF services now offer more design flexibility by supporting architecture such as Representational State Transfer (REST), JavaScript Object Notation (JSON), and Plain Old XML (POX) encoding.

此外,WCF服务现在通过支持代表性状态转移(REST),JavaScript对象表示法(JSON)和普通旧XML(POX)编码等体系结构提供更多的设计灵活性。

You can specify binary-based communication mechanisms for other .NET-based applications that may need to talk to your services, thereby keeping the amount of data flowing over the "wire" as minimal as possible, whilst at the same time, exposing those exact same services over SOAP using XML to enable maximum portability and cross-platform access.

您可以为其他基于.NET的应用程序指定基于二进制的通信机制,这些应用程序可能需要与您的服务进行通信,从而尽可能减少在“线路”上流动的数据量,同时暴露出那些精确的数据。使用XML通过SOAP提供相同的服务,以实现最大的可移植性和跨平台访问。

A good starting point for WCF, and it's benefits, is:
Introduction to Building Windows Communication Foundation Services

WCF的一个很好的起点,它的好处是:构建Windows Communication Foundation服务简介

#2


How about just using SOAP? WCF supports it very well, including support for WS-Security and other such WS-* protocols.

如何使用SOAP呢? WCF非常支持它,包括对WS-Security和其他此类WS- *协议的支持。

#1


If possible, probably the best thing to be using for this would be:

如果可能的话,可能最好用的是:

Windows Communication Foundation (WCF)

Windows Communication Foundation(WCF)

WCF seems to be (slowly but surely) replacing .NET remoting, and once you have a set of classes/functionality that is written to use WCF (which mostly involves decorating your classes/methods with attributes and usage of interfaces to define contracts - all standard OOP best practises anyway) you can expose that functionality over a number of different communication mechanisms, all of which can be controlled via simple config files.

WCF似乎(缓慢但肯定地)取代了.NET远程处理,并且一旦你有一组类/功能被编写为使用WCF(主要涉及使用属性和接口的用法来装饰你的类/方法来定义合同 - 所有无论如何,您可以通过许多不同的通信机制公开该功能,所有这些都可以通过简单的配置文件进行控制。

Windows Communication Foundation (WCF) provides a unified framework for rapidly building service-oriented applications that makes it easy to build and consume secure, reliable, and transacted Web services.

Windows Communication Foundation(WCF)为快速构建面向服务的应用程序提供了一个统一的框架,可以轻松构建和使用安全,可靠和事务处理的Web服务。

WCF’s single programming model unifies the capabilities in ASMX, WSE, Remoting, COM+, and MSMQ; therefore developers need to learn only one programming model.

WCF的单一编程模型统一了ASMX,WSE,Remoting,COM +和MSMQ中的功能;因此开发人员只需要学习一种编程模型。

In addition, WCF services now offer more design flexibility by supporting architecture such as Representational State Transfer (REST), JavaScript Object Notation (JSON), and Plain Old XML (POX) encoding.

此外,WCF服务现在通过支持代表性状态转移(REST),JavaScript对象表示法(JSON)和普通旧XML(POX)编码等体系结构提供更多的设计灵活性。

You can specify binary-based communication mechanisms for other .NET-based applications that may need to talk to your services, thereby keeping the amount of data flowing over the "wire" as minimal as possible, whilst at the same time, exposing those exact same services over SOAP using XML to enable maximum portability and cross-platform access.

您可以为其他基于.NET的应用程序指定基于二进制的通信机制,这些应用程序可能需要与您的服务进行通信,从而尽可能减少在“线路”上流动的数据量,同时暴露出那些精确的数据。使用XML通过SOAP提供相同的服务,以实现最大的可移植性和跨平台访问。

A good starting point for WCF, and it's benefits, is:
Introduction to Building Windows Communication Foundation Services

WCF的一个很好的起点,它的好处是:构建Windows Communication Foundation服务简介

#2


How about just using SOAP? WCF supports it very well, including support for WS-Security and other such WS-* protocols.

如何使用SOAP呢? WCF非常支持它,包括对WS-Security和其他此类WS- *协议的支持。