当前位置:  开发笔记 > 编程语言 > 正文

来自asp.net 2.0的REST

如何解决《来自asp.net2.0的REST》经验,为你挑选了1个好方法。

我刚刚建立了一个asp.net 2.0网站.现在我需要添加REST Web服务,以便我可以与另一个Web应用程序进行通信.我之前使用过2个SOAP Web服务项目,但根本没有使用REST的经验.我想只有几周才能正常工作.谷歌搜索后,我发现这并不容易.

这是我发现的:

没有REST开箱即用的asp.net.

WCF REST入门套件Codeplex预览版2基于.net 3.5并仍处于测试阶段

休息ASP.NET示例

ASP.NET 2.0中的REST Web服务(C#)

Exyus

用摇篮曲处理POST和PUT方法

ADO.NET数据服务

...

现在我的问题,

a).net 2.0的REST解决方案?如果是的话,哪一个是最佳解决方案?

b)如果必须,我的asp.net从2.0迁移到3.5有多难?它只是简单编译,或者我必须更改很多代码?

c)WCF REST入门套件是否足以在生产中使用?

d)我是否必须首先学习WCF,然后是WCF REST入门套件?哪里是最好的起点?

我感谢任何帮助.

谢谢Wes



1> regex..:

如果您正在寻找一个模拟REST服务的项目,那么您说没有开箱即用的解决方案是正确的.但是,使用WCF可以实现RESTful Web服务.关键部分是在定义服务函数时使用几个属性,让.NET框架知道函数不期望SOAP.要使用的主要属性是WebInvoke属性.

以下是developer.com的一个示例:

[OperationContract]
[WebInvoke(Method = "PUT", UriTemplate = "/admin/post/{id}")]
void UpdatePost(string id, Post post);

上面的代码实际上将在您的Web服务的接口中定义.创建WCF Web服务项目时,将自动创建该接口.该函数的实际代码将放在用于实现Web服务的类中.

查看developer.com上的文章以获取完整的教程.如果你是WCF的新手,一开始可能看起来势不可挡,但是在你深入研究它之后,我相信你会开始快速接受它.以下是artile的链接:http://www.developer.com/net/article.php/10916_3695436_1

要回答你的所有问题,

a)在.NET 2.0中,您应该能够使用WSE2.0构建RESTful服务,但是如果您可以选择使用.NET 3.5,我强烈建议您使用WCF的路由,因为它更容易并且使用REST设计心里.

b)转换你的项目并不难.这只是在项目设置中定位框架的新版本的问题.将Web服务从WSE2.0服务转换为WCF服务将会有点棘手.最简单的方法是将每个不同Web服务函数的代码复制到实现新版本函数的类中.复制粘贴shinanigans :)

c)我不确定你所指的这个入门套件是什么.WCF应该完全支持RESTful Web服务,从3.5开始全面发布

d)在开始之前至少要了解一下WCF会很有帮助,但要完全理解它并不是必须的.我建议只阅读WCF上的MSDN文章至少一次,然后开始工作.我相信你会在开始时遇到其他问题,但是当你遇到它们时,你可以查看这些部分.

无论如何,我希望这些信息有所帮助.祝你好运.

编辑

REST世界已经做了一些改进.正如Darrel Miller在评论中提到的那样,WCF实际上并没有考虑到REST.我之前说错了.实际上,框架是在构建SOAP时考虑的,WebInvoke属性填补了这一空白.尽管围绕该主题(Web API与WCF REST)存在很多争议,但ASP.NET Web API是用于在.NET中构建REST服务的新选项.我强烈建议任何读过这篇文章并且能够在他们的项目中使用.NET 4.5的人都可以选择它.

推荐阅读
ERIK又
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有