gpt4 book ai didi

WCF Rest - 最佳实践是什么?

转载 作者:行者123 更新时间:2023-12-01 23:00:36 25 4
gpt4 key购买 nike

刚刚开始我的第一个 WCF 休息项目,并希望获得一些关于使用 REST 的最佳实践的帮助。

我看过很多教程,似乎有很多方法可以做事……例如,如果进行 POST,我看过一些设置 HttpStatusCodes(OK/Errors 等)的教程,以及其他教程只是返回包含操作结果的字符串。

归根结底,有 4 个操作,当然必须有一个指南,说明如果您正在执行 GET,以这种方式执行等操作,并使用 POST,执行此操作...

任何帮助,将不胜感激。

京东

最佳答案

更新

使用 ASP.NET Web API。

好的 我留下评论 REST best practices: dont use WCF REST. Just avoid it like a plague我觉得我必须解释一下。

WCF 的基本缺陷之一是它只关注 有效载荷 .例如 FooBar是这里的有效载荷。

[OperationContract]
public Foo Do(Bar bar)
{
...
}

这是WCF的租户之一,所以无论如何 运输是,我们得到了 有效载荷 交给你。

但它忽略的是 context/envelope在许多情况下,特定于传输的调用 - 所以很多上下文都丢失了。事实上,HTTP 的强大之处在于它的上下文而不是有效载荷,而且在 WCF 的早期版本中,无法在 netTcpBinding 中获取客户端的 IP 地址。并且 WCF 团队坚称他们无法提供。我现在找不到该页面,但请记住阅读评论,MS 人员只是说这不受支持。

使用 WCF REST,您会失去 HTTP 的灵活性,无法在以下方面清楚地表达自己(并且他们必须在以后做出让步):
  • HTTP 状态码
  • HTTP 媒体类型
  • ETag, ...

  • 新的 Web API,Glenn Block 正在通过在上下文中封装有效负载来解决这个问题:
    public HttpResponse<Foo> Do(HttpRequest<Bar> bar) // PSEUDOCODE
    {
    ...
    }

    但在我的测试中,这并不完美,我个人更喜欢使用 Nancy 或什至普通的 ASP NET MVC 等框架来公开 Web API。

    关于WCF Rest - 最佳实践是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9063678/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com