到目前为止,我的选择是ADO.Net数据服务,WCF REST入门套件(不确定我是否可以使用它,因为它们的EULA难以理解和混淆),ASP.NET MVC。
有很多帖子,但我想看看是否还有我缺少的框架。 如果您已经使用了上述任何选项,请发布您的经验。
我想要使用的方案是从SQL Server数据库保存和检索一些数据。 我正在寻找已经内置了一些基础设施的东西。 我读了其他问题,但我没有得到人们对上述选项的任何具体经验,所以想知道事情是否会随着时间而改变。
提前致谢。
澄清#1:我目前正在限制我对MS Stack的选择
实际上我认为ADO.NET for Data Services(以前称为Astoria)就是你想要的。
就v1而言,WCF肯定不是最佳选择。 它可以防止您实现ReST体系结构的许多约束。
如果你想通过http进行ReST,为什么不看看OpenRasta,它是从头开始构建的,以支持REST场景:
http://trac.caffeine-it.com/openrasta
勒布
如果您使用的是.asmx wed服务,则可以使用ScriptService标记该类,然后在AJAX调用中请求Json以获取Json。
如果您的网站已经在运行MVC,那么只需添加一个额外的视图并转储xml / json而不是HTML内容。 (Stack Overflow为他们的RSS提要执行此操作)
如果您想添加自定义标头,如基本Http身份验证, X-HTTP-Method-Override支持put / delete(因为浏览器管道只支持get / post),它很容易在Rest Starter Kit中完成 ,而且几乎不可能目前在WCF 3.5(可能与asp.net模块,属性设置允许httpcontext )
Rest Starter Kit填补了WCF 3.5遗漏的所有空白!
REST入门套件具有ASP.NET预发布组件,如“软件已获得许可”一样。“您承担使用它的风险。它可能永远不会作为稳定版本发布” 查看许可证
为了帮助您入门, PluralSight提供了一些关于REST和REST入门套件的精彩视频教程。
ASP.NET MVC并不像其他东西那样。 它是一个Web开发模型,是WebForms的替代品。
至于实现基于REST的Web服务,WCF可能就是这样。 它几乎是设置一些额外的属性,配置单个xml文件及其相关问题。 就基础设施而言,WCF与任何选择一样完整,因为它具有内置的带宽和并发性,你应该决定切换传输(比如命名管道或TCP),或者希望切换到使用SOAP,它是一个微不足道的开关。 此外,内置了跟踪功能,当出现问题时可以很方便。
最后一个选项可能是Web方法。 如果您只是尝试Ajax启用一个网站,Web方法可能会做到这一点。
至于你是否缺少任何框架......如果你正在处理MS dev堆栈,不,那就好了,除了可能仍然支持的经典Web服务。
如果您正在谈论非MS语言,那么所有各种语言(Java,Python,Ruby等)都有不同的Web服务标准。 如果您不局限于MS技术,那么您应该明确这一点,因为它打开了一个选项。
编辑:这并不是说你不能用ASP.NET MVC做基于REST的无视界面。 如果只是意味着你没有内置的基础设施,并且基本上将自己滚动。 因此,无负载处理,无DDOS保护,无容错等...