gpt4 book ai didi

c# - Visual Studio 选项 : ASP. NET Web 服务和 WCF 服务有什么区别

转载 作者:太空狗 更新时间:2023-10-30 00:29:18 25 4
gpt4 key购买 nike

我看到有两个我知道的选项可用于 Web 服务……显然是 WCF 和 ASP.NET Web 服务。有什么不同?我最近才开始接触 WCF,过去也接触过一些 Web 服务,但我当然不是专家。

最佳答案

很容易看出差异。

ASP.NET Web 方法被称为 ASMX [因为文件扩展名](查看 4GuysFromRolla,他们有一个 good tutorial)

这项技术使您可以将方法公开为 Web 服务,这样您就可以从任何地方连接它(到 WS)并使用它(方法)。但是...你不能保护服务器和客户端之间的数据,比如,你可以用明文模式发送大文件等...

[注意] 您可以使用证书来保护对 Web 服务的访问,但这很痛苦且相当复杂,通常在 ASMX 中我们使用用户名/密码来授予对方法的访问权限(再一次......以纯文本形式!)

WCF 中,您处于 Web 服务的不同世界,这是 .NET 中(迄今为止)公开服务的最佳技术(您能看出其中的区别吗.. . 服务!不是Web 服务),WCF 不需要 IIS 来运行,它可以作为服务器上的系统服务运行,使用控制台环境(例如命令行),TCP/IP 模式等,所以我们说 WCF 是一个服务,而不是一个 Web 服务。请记住,ASMX 需要 IIS 才能运行,并且只会在 Web 服务器上运行。

使用 WCF,您可以使用 SSL 来加密通信(要在 ASMX 中执行此操作,您需要使用 WSE - Web Services Enhancements)并且实现它非常容易,您可以发送大文件并且安全(要在 ASMX 中做到这一点,您需要使用 MTOM - 消息传输优化机制)。

您只需更改一行代码即可设置传输首选项,或者,如果您愿意,甚至可以更改 XML 配置文件,安全性更高,等等 :)

希望您对此有一个更好的总体概述,但还有更多。

底线:要公开您不需要保护的 Web 服务,您可以使用 ASMX,一点问题都没有,但如果您需要以某种方式保护通信,请在 WCF 中进行!

链接:you can read here some performance comparative between the 2 services

关于c# - Visual Studio 选项 : ASP. NET Web 服务和 WCF 服务有什么区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/773621/

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