【问题标题】:REST, HTTP verbs and current development in .NET and silverlight.NET 和 silverlight 中的 REST、HTTP 动词和当前开发
【发布时间】:2010-05-03 18:33:03
【问题描述】:

我在互联网上阅读了几篇关于 Silverlight 仅支持 GET 和 POST 的帖子,并且大多数 Web 浏览器也支持。这是真的?最近有变化吗?我正在为 Silverlight 应用程序开发 RESTful Web 服务,仍处于早期阶段,我想知道是否应该只使用 POST 和 GET,或者我可以使用 PUT 和删除。

干杯

【问题讨论】:

    标签: .net silverlight http rest


    【解决方案1】:

    通常,其他动词在您的浏览器和服务器之间以某种方式被阻止。如果您正确实施 REST,您肯定需要访问 PUT 和 DELETE。

    您可以将要使用的谓词放在一个附加标头中,然后在调用 Web 服务之前替换 GET 谓词。使用 x-http-method-override 标头以及 WCF Rest starter kit 之类的东西来执行此操作,其中包含执行动词转换的代码:

    http://www.msdev.com/Directory/Description.aspx?eventId=1316

    【讨论】:

    • 奇怪的是,有数以千计的网站是完全 RESTful 的,但 Web 浏览器只支持 GET 和 POST。菲尔丁在 REST-DISCUSS 上非常明确地说 GET 和 POST 就足够了。
    • @Darrel - 请链接。在实现了相当多的 REST 服务之后,我会发现这既烦人又不安。
    • 我会给你找到链接,但与此同时,你能告诉我违反了什么 REST 约束吗?
    • www.acme.com/widgets/1 (GET) - 这将获得一个小部件。现在告诉我应该如何删除那个小部件,或者区分插入和更新。
    • 是的,防火墙和可能的服务器本身(IIS 等)都不会被配置为接受这些动词。根据我的经验,这不是一个问题客户端。
    【解决方案2】:

    使用浏览器 HTTP 堆栈时,仅支持 GET 和 POST。但是 Silverlight 本身提供的客户端 HTTP 堆栈可以发送其他动词,例如 PUT。因此,可以在 Silverlight 中使用典型的 RESTFul API。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-28
    • 2010-12-12
    • 1970-01-01
    • 1970-01-01
    • 2010-11-30
    • 1970-01-01
    相关资源
    最近更新 更多