正如标题所示,我想看看这是否是人们满意的事。
我有几个项目,我将花费一些时间来尝试与Web服务相关的各种技术,最好是SOAP的替代品,这些内容可以很好地集成到内部网络中。
我想听听是否已经有一些成功案例或人们对初学者工具包价值的看法:
该套件是否仍然过于新鲜,以至于人们已经足够好以至于为它们所取得的成就感到骄傲?
一些背景知识:
我有新手的团队成员 SOAP和REST,我在平衡 哪一个能激励他们/我自己。
我个人并不太热心 关于SOAP,但就像我的厌恶一样 对SQL我怪我自己的缺点 关于这个主题的经验不止于此 技术本身。
所以在寻找处理网络相关服务的其他方法时,我碰到了REST,到目前为止一直很好......社区如何收到它?
我很高兴看到评论和人们对入门套件替代品的建议。
比原始问题更进一步,对于分布式超媒体替代SOAP以及希望保护SOAP的人的整体REST评论也受到欢迎。
很抱歉,如果这是一个骗局,我确实环顾四周,找不到任何我想知道的东西。
谢谢,
里克
答案 0 :(得分:9)
我花了大约两周的时间使用WCF和REST入门工具包对RESTful服务进行原型设计,发现它非常难以掌握,非常不直观,并且做了很多非常简单的事情。这真的感觉就像他们试图将一个HTTP仿真层固定在一个旨在抽象出HTTP的层之上,结果它很混乱。
作为参考,原型包括实现CRUD功能,X-HTTP-Method-Override
标头,将任何错误自定义转换为标准错误块,支持XML和JSON作为输入和输出格式,认证和授权调用者,以及将任何内部服务依赖注入外向服务。
然后我花了大约一个星期左右使用ASP.NET MVC对相同的API进行原型设计,发现它更容易掌握,直观扩展,上面列表中的任何内容都很难(我被困在标题上一段时间,但the solution turned out to only be 10 lines of code or so)。 ASP.NET MVC与底层HTTP协议非常接近,因此可以轻松实现包含它的RESTful API。
因此,我的个人建议(以及我公司根据我的研究得出的建议)是要远离WCF以获得RESTful服务,并使用ASP.NET MVC。
答案 1 :(得分:3)
我建议看一下OpenRasta,它比asp.net MVC更接近http语义。 http://trac.caffeine-it.com/openrasta/
答案 2 :(得分:2)
我还会仔细阅读licensing条款。从我的阅读(我不是律师),你不能用你的代码分发库。这阻止了我们在产品中使用它。它还会阻止您在分发给合作伙伴等的客户端中使用它。
答案 3 :(得分:0)
我认为Greg的建议是支持ASP.NET MVC而不是WCF REST入门套件。如果您确实采用了这种方法,请确保查看ASP.NET MVC中RESTful控制器的this实现。