一尘不染

简洁轻巧的API:.NET中的REST + JSON

json

摘要: 我需要知道.NET世界中是否存在不使用WCF的REST +
JSON轻量级实现。如果不是这样,我正在寻找一些有兴趣为开源项目建立合资企业的人。

我不了解您,但是当它问世时我是WCF的忠实拥护者,我赞扬它的设计具有模块化和可扩展性。但是,随着我越来越多地使用它,一些基本问题开始暴露出来,以至于我现在认为必须取消和重新设计它。这似乎是一个重要声明,但我相信这些是主要问题:

  1. 首先,WCF在内部使用SOAP作为消息,这意味着如果传输消息不是SOAP,则每次调用都会产生与SOAP相互转换的成本。这是昂贵且费时的。
  2. 转换外发消息需要“插入”消息检查器并“窃取”消息。顾名思义,这是一个检查器(必须用于检查和记录),因此坦率地说,使用它来更改消息是一种黑客。
  3. 它是根据WSDL设计的,自2001年以来,世界发生了很大变化。实施REST还需要窃取消息。WCF是根据WSDL而非REST设计的。
  4. 通道堆栈不必要地沉重。
  5. 主堆栈与协议无关。这不是优势,而是根本缺陷。如您所知,稍后添加了对许多协议级别信息的访问,因为无法实现某些重要的用户方案。例如,无法访问TCP中的客户端IP地址,以后再添加(现在可以使用perationContext.Current.IncomingMessageProperties [RemoteEndpointMessageProperty.Name]访问)
  6. 与其他平台的互操作性可能是一个问题。

现在看来,许多设计正在朝着简化JSON和REST的方向发展。我只喜欢它们的简单性,我可以看到我的洗衣机在5到10年内使用JSON并托管REST服务!我相信它们在.NET中的实现是一个黑客,我们非常需要一个非常轻巧的框架(因为它们既简单又轻巧)来在IIS内外托管REST
+ JSON服务。我希望有这样一个框架,但如果没有,我真的很想与很多志同道合的人一起工作。

所以你怎么看?是否存在这样的框架?如果没有,有人感兴趣吗?


阅读 245

收藏
2020-07-27

共1个答案

一尘不染

吐出JSON而不是HTML的MVC似乎是一种可能性。您可以自由使用JsonDataContractSerializer或JSON.Net来序列化数据合同。

2020-07-27