【问题标题】:Is ASMX technology completely obsoleteASMX 技术完全过时了吗
【发布时间】:2012-10-27 13:24:35
【问题描述】:

不久前,大约 2 年前,我正在研究使用 .NET 2.0 开发的门户网站。并且有很多 asmx 页面。

前几天,我的一位更擅长 ASP .NET 的同事说:“ASMX 又旧又丑,我们应该重写它”。所以我们做到了,据我所知,我们转移到了 ashx 处理程序。

但是现在,当我准备通过 70-515 时,我偶然发现了一些仍然建议学习 asmx 服务的材料(关于 AJAX)。那么这种方法在新的 ASP .NET 3.5/4.0 Web 项目中仍然有效吗?如果是这样,那么我应该在何时何地使用它?

或者也许 2 年前,我太无知了,我们使用了某种旧版本的 asmx,然后我们转移到了新的 asmx。

附:当我输入标签“asmx”时,我看到一条消息:“asmx 已过时”:https://stackoverflow.com/tags/asmx/info

【问题讨论】:

    标签: asp.net web-services asmx asp.net-4.0 asp.net-3.5


    【解决方案1】:

    如果您可以使用 WCF,那么是的,ASMX 服务已经过时,因为 WCF 可以用更高的性能和灵活性(多绑定)功能完全取代它们。如果您可以编写 WCF 服务,那么如果由于某种原因您将被要求创建 ASMX 服务,那么您将没有问题。

    从 ASMX 迁移到 ASHX 并不是明智之举,因为它们不是为了相互替换。

    【讨论】:

    • 是的,如果它工作正常,我不会重写任何 ASMX 服务。如果现有服务需要一些改进,那么我确信我会用 WCF 技术重写整个服务(当然我不会编写任何新的 ASMX 服务)。
    【解决方案2】:

    奇怪的是,我们从 ASMX 移到了 WCF,然后又回到了 ASMX。 WCF 有很多缺点,最重要的是跨平台兼容性问题。如果使用您的服务的每个人都在 .NET 上,这不是问题,但并非所有其他框架都支持完整的堆栈,而且它们通常无法执行 WCF 生成的操作。我们还发现,在 WCF 中处理安全和测试是一件很痛苦的事情。如果您的 Web 服务被标记为安全,它必须在 WCF 中是安全的,即使在您的测试环境中也是如此,这意味着为每个开发人员获取实际的 SSL 证书。可以肯定的是巨大的痛苦。

    【讨论】:

    • 跨平台兼容性通常不是 WCF 的问题。可能有某些种情况,ASMX 可以与某些不合规的 Web 服务一起工作,而 WCF 不能,至少在没有自定义的情况下不会。
    【解决方案3】:

    ASMX 和 WCF 是在 .NET 中构建 Web 服务的技术。 WCF 是在 .NET 3.0 中引入的。它的目标是为所有通信技术提供标准抽象,并且是在 .NET 中实现 Web 服务的推荐方式。

    What are the differences between WCF and ASMX web services?

    ASHX 是一种在 .NET 中编写 HTTPHandlers 的方法。有关什么是 HTTPHandler 的更多信息

    http://forums.asp.net/t/1166701.aspx/1

    .NET 支持 ASMX 服务。但是建议迁移到 WCF。此外,您应该在 WCF 中编写所有新服务。

    【讨论】:

    • @Eric - WebAPI 是 REST 服务的首选,但如果您需要编写 SOAP 服务,那么 WCF 是您将使用的技术。 WCF 还引入了一些 WebAPI 不容易支持的高级功能。
    【解决方案4】:

    是的,asmx 对于 WCF 服务是过时的。当您使用

    ashx 不会完全替代 asmx。

    如果您有编码格式问题/标准/大量代码,那么您可以使用 MVC Web API 2(4.0 本身)。但与 WCF 相比,您必须确保收件人的响应期望是什么 (“WCF 是 Web 服务 (ASMX) 的演变,支持 TCP、HTTP、HTTPS、命名管道、MSMQ 等各种协议。但 Web api 仅适用于 HTTP(s)”)。

    【讨论】:

      猜你喜欢
      • 2018-05-09
      • 2012-03-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-24
      • 2014-09-12
      • 1970-01-01
      • 2017-11-01
      相关资源
      最近更新 更多