.net 使用静态类型和RESTful服务设计分布式应用程序

.net 使用静态类型和RESTful服务设计分布式应用程序,.net,web-services,rest,distributed,.net,Web Services,Rest,Distributed,在过去的几个月里,我在开发某些类型的分布式应用程序时经常遇到同样的设计障碍 首先,让我介绍一下我的环境和分布式应用程序: .NET环境 所有通信都是通过HTTP完成的 应用程序通常位于不同的服务器上 通常是Web应用程序和桌面服务的组合 通常,桌面服务为许多web应用程序提供服务,因此可以说这是一种一对多关系,windows服务可能会为不同的web应用程序轮询不同的数据和反馈 现在,在.NET环境中,让我首先说明,我不希望专门使用SOAP,甚至不希望一般使用WCF 这是因为我想保持沟通非常简

在过去的几个月里,我在开发某些类型的分布式应用程序时经常遇到同样的设计障碍

首先,让我介绍一下我的环境和分布式应用程序:
  • .NET环境
  • 所有通信都是通过HTTP完成的
  • 应用程序通常位于不同的服务器上
  • 通常是Web应用程序和桌面服务的组合
  • 通常,桌面服务为许多web应用程序提供服务,因此可以说这是一种一对多关系,windows服务可能会为不同的web应用程序轮询不同的数据和反馈
现在,在.NET环境中,让我首先说明,我不希望专门使用SOAP,甚至不希望一般使用WCF

这是因为我想保持沟通非常简单

这意味着我将把简单XML放回第四位。但是,我希望所有API调用都是静态类型的,并且处理类,而不是原始XML

这是因为我认为对于一个新开发人员来说,使用一个API,让它拥有简单的具有属性的对象,而不必构造和解构XML,这样会更好、更容易

通常,我所做的是在接口级别使用序列化和反序列化方法

到目前为止,一切顺利。现在问题来了 然后我通常会构建一个dll来定义这些类和序列化方法,然后将它们放到所有节点中

优点是我有一个源代码,一个要更改的解决方案,这意味着所有节点都有所有内容的定义,但它们能够使用简单的RESTful服务和XML进行通信

明显的缺点是,现在更新该库变得有问题,因为到处都有dll

那么,我的问题。你们能给我提些建议吗,或者给我指出一些有用的模式吗?

简单的解决方案是使用SOAP或WCF的某些配置,因为这样我就可以通过网络共享类定义。然而,我不想那样做


干杯

我很震惊这个问题没有得到一大堆答案。我很想给你一个更长的肥皂盒咆哮,但我没有时间:-)


我真的不建议像过去那样分发充满问题的对象。但是,如果必须,您可能需要考虑Silverlight的最新版本用于按需下载程序集。您可以使用MEF做类似的事情。

我可以发誓我回答了。不管怎样,Darrel的答案是+1。如果你不想一直使用REST或者至少使用HTTP。嘿,谢谢大家。是的,我想也许问题太长了,或者没有人有这个问题!无论如何,我会查看资源,请随意咆哮!我喜欢听一些意见,干杯!