从经典 asmx 切换到 wcf 的好处

2024-03-08

最近,我从使用 asmx Web 服务切换到使用 wcf 服务,转换即将完成,但我知道我需要进行大量错误检查和测试,以确保所有内容都按预期移植。

我的问题是 - 到目前为止,我只能想到使用 wcf 的一个好处,那就是您可以获得一种简单的方法来实现单例 Web 服务。

除此之外,我必须告诉您,配置 WCF 应用程序似乎过于复杂,而且我将永远怀念测试 asmx Web 服务是多么容易。

通过 ASMX Web 服务使用 WCF 还有哪些其他好处?


  • 更多协议选项; ASMX 是 IIS 和 HTTPonly- WCF 为您提供 HTTP、NetTcp、MSMQ、IPC - 您能想到的
  • 您可以编写一次服务,然后将其公开在多个端点上
  • 自托管:您可以将 WCF 服务托管在控制台应用程序、Winforms 应用程序、WPF 应用程序中,或者让它由 IIS/WAS 处理 - 但您不必这样做
  • 更多选项,例如可靠会话、更多安全选项
  • 您不必像在 ASMX 中那样在 WCF 中处理那么多“管道问题” - 您可以专注于您的业务问题,并让配置和属性处理所有您不想处理的问题

仅举几例......

在 Google 或 Bing 中搜索“WCF 与 ASMX”,我相信您会找到更多文章、博客文章和比较。

ASMX 已经过去了 - WCF 是现在和未来。它可以做更多的事情——因此需要学习的东西也更多。

但如果你检查正确的来源,比如这两部 Dotnet Rocks 电视节目(Keith Elder 揭秘 WCF http://www.dnrtv.com/default.aspx?showNum=135 and 米格尔·卡斯特罗 (Miguel Castro) 谈《Extreme WCF》 http://www.dnrtv.com/default.aspx?showNum=122),我相信您会快速且轻松地开始进入 WCF!

Marc

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从经典 asmx 切换到 wcf 的好处 的相关文章

  • 如何在 C# 中向肥皂信封添加命名空间

    我想向我的肥皂信封添加命名空间设置 我想在 IClientMessageInspector 的 BeforeSendRequest 中更改它 或者您有更优雅的方法 例如
  • WCF 服务中的缓冲区大小

    我们有一个 WCF 服务 它执行某些存储过程并将结果返回给 silverlight 客户端 某些存储过程最多返回 80K 行 下面给出的是 web config 中服务的设置
  • WCF 自定义序列化器

    我正在 WCF 中创建一个返回 JSON 的 Web 服务 但 DataContractJsonSerializer 对某些循环引用犹豫不决 在这种特殊情况下我无法删除这些引用 相反 我想使用 Newtonsoft json 库 在 WCF
  • 在浏览器中测试wcf服务

    我无法在浏览器中调用基本的 wcf web 方法 即使使用
  • 对于可以作为服务或控制台应用程序运行的应用程序,可接受的模式是什么

    我有一个作为 Windows 服务部署到生产环境的项目 但是 出于本地开发目的 将其作为控制台应用程序运行会很有用 目前我有一堂课叫ReportingHost它提供了我的核心功能 还有一个名为 ReportingServiceHost 的类
  • MSMQ,消息被放入队列并消失,但从未被服务合约拾取

    我有一个本地私人队列 我还在 MVC 应用程序内有一个 WCF 服务 它使用 msmqIntegrationBinding 侦听队列 问题是 当消息排队时 服务契约永远不会被调用 但消息很快就会消失 该消息不在有害队列中 这是我声明与队列的
  • ASP.NET Identity 2.0解密Owin cookie

    我正在应用多租户的服务器端应用程序中工作 在这个服务器端我有一个后台 ASP NET MVC 和后端 WCF 我想解密身份 cookie 以便我可以检查它是否有效并使用它在 WCF 服务中进行身份验证 更具体地说 我真的想知道 ASP NE
  • 由于 EndpointDispatcher 上的 AddressFilter 不匹配,无法在接收方进行处理

    我正在使用启用 ajax 的 WCF 当我在 Web 浏览器中打开 url 时 出现此错误 带有 Action 的消息http localhost 22219 MobileService svc GetProductCategories h
  • 无法在 Visual Studio 2010 IDE 中添加启用 HTTPS 的 WCF 服务作为服务引用

    通过 Visual Studio 2010 IDE 添加启用 HTTPS 的 WCF 服务作为服务引用时 出现以下异常 下载 https abc cloudapp net DataService svc 时出错 请求失败 HTTP 状态为
  • 将大文件返回为拆分 zip 文件、流或字节数组 WCF 的最佳方法

    我已经将 zip 文件流返回给客户端 如下所示MessageContract MessageContract public class ExportResult C MessageHeader public PackedStudy C Pa
  • “无法连接到远程服务器”

    我可以从 Windows 窗体程序调用第三方供应商的 Web 服务 当我尝试从 WCF Web 服务调用相同的 Web 服务和 Web 方法以及相同的 URL 时 出现以下错误 ExportValuationPolicyNumber Exc
  • 通过 https 负载均衡器的 WCF http 服务

    我有一个可以通过 http 端点访问的 WCF Web 服务 现在 该服务应通过 https 与负载均衡器一起发布 客户端是通过 svcutil exe 在 Net 中创建的 但 Java 客户端也需要 WSDL 我的理解是 Web 服务在
  • 使用 WCF 的契约优先 SOA

    这个问题更多的是探索人们在社区中 在实际情况中所做的事情 而不是一个有针对性的问题 我对此进行了相当广泛的搜索 虽然我发现很多博主都提倡契约优先的服务设计 并且有一些评论支持它们 但我还没有找到很多关于使用 WCF 实现契约优先的实用信息
  • 使用 netMSMQ 绑定进行有序交付

    使用 WCF netMSMQbinding 时是否可以保证有序交付 我们将一个插入命令后跟多个更新命令放在同一个队列上 有时其中一个更新会击败插入命令 添加了广泛的日志记录后 很明显它们正在以正确的顺序添加到队列中 并以不同的顺序进行处理
  • 实体框架和数据库集

    我正在尝试设置一个通用接口来从存储库中检索实体 问题是我需要从 WCF 服务请求数据 而据我所知 泛型不能与操作合约一起使用 所以我有这个在控制台应用程序中工作 而不是使用服务调用 public virtual List
  • 无法在 Windows 8 上的 IIS 中提供 WCF 服务

    当我尝试在 Windows 8 计算机中的 IIS 上提供 WCF 服务时 出现众所周知的错误 由于扩展配置的原因 无法提供您请求的页面 如果页面是脚本 请添加处理程序 如果应下载该文件 请添加 MIME 映射 旧的解决方法是运行aspne
  • 使用 C# 发送要在服务器上执行的代码 - 类似于 Java RMI

    这是java中的示例代码 共享接口 import java rmi Remote import java rmi RemoteException public interface Compute extends Remote public
  • PHP WCF 集成

    是不是如果我想支持php客户端访问我的服务 我必须有一个基本的http端点 这是因为php仍然只支持soap 1 1吗 据我所知 自从我使用 PHP 以来已经两年了 情况仍然如此 如果客户端应用程序将使用 PHP 的内置 SoapClien
  • WCF 服务引用从 WSDL 生成 void 方法

    这是我第一次尝试使用 WCF 所以我猜我做错了什么 我正在尝试访问 WSDL 定义的肥皂服务http confluence atlassian com rpc soap axis confluenceservice v1 wsdl http
  • WCF RIA 服务 - 加载多个实体

    我正在寻找一种模式来解决以下问题 我认为这很常见 我正在使用 WCF RIA 服务在初始加载时将多个实体返回给客户端 我希望两个实体异步加载 以免锁定 UI 并且我想利用 RIA 服务来执行此操作 我的解决方案如下 似乎有效 这种方法会遇到

随机推荐

  • 使用 GDB 调试 va_list args

    我尝试调试 Va list 参数并打印变量值示例代码是 include
  • 在 Azure WebRoles 中启用 HTTP 严格传输安全 (HSTS)

    如何为 Azure WebRoles 启用 HTTP 严格传输安全 HSTS 接受的答案令人困惑 并且正确答案 https serverfault com questions 417173 enable http strict transp
  • 在解决方案资源管理器中折叠项目

    如何使用键盘折叠 展开解决方案探索中的所有项目 In Visual Studio 2013 it is finally just part of solution explorer with a Collapse All icon 早期版本
  • 使用 MySQL Workbench 搜索所有表

    我可以使用 MySQL GUI 在所有表中搜索字符串吗 或者是这样的 mySQL 查询在数据库中的所有表中搜索字符串 https stackoverflow com questions 7523039 mysql query to sear
  • -symbolic 和 -shared GCC 标志之间有什么区别?

    从文档的描述来看 它们似乎做了同样的事情 除了 并非所有系统 支持共享并且 只有某些系统 支持符号 尚不清楚这些是否是同一组系统 共享 生成一个共享对象 然后可以将其与其他对象链接起来 形成可执行文件 并非所有系统 支持这个选项 对于可预测
  • opencl支持布尔变量吗?

    openCL 支持布尔变量吗 我目前正在使用 JOCL java 编写我的 openCL 调用代码 但我没有看到任何有关布尔值的信息 tl dr 是的 但是你应该在内核函数签名中避免它 是的 但a的大小bool is not定义的 因此 它
  • 为 .NET Framework 项目创建基于 Linux 的 Docker 文件

    我有一个 ASP Net Framework 4 8 项目 我想为此项目创建一个基于 Linux 的 Docker 文件 但我在 NET Framework 的 Docker 文件中找不到基于 Linux 的映像来用作基础映像 如何为此创建
  • Rails3 Mysql2::Error: 未知列 - ActiveRecord::StatementInvalid

    我是在这个级别上使用 Rails 中的数据库的新手 我已经寻找了几个小时 但还没有找到解决这个特定问题的方法 版本 Rails 3 2 9 Ruby 1 9 3 MySQL 5 5 28 mysql2 gem 2 9 0 Mac OS 10
  • 如果 lt_dlopen 失败,如何获取更多信息?

    我正在打电话lt dlopen并收到通用文件未找到错误 翻译后的 errno 文本 我怎样才能获得有关实际失败的更多信息 因为该文件肯定存在 这是一个加载 C 库的 C 程序 在同一个程序的其他地方 我使用相同的命令打开其他库 没有问题 因
  • “zipAlignExe”不存在。在 Android Studio 上运行我的项目时出错

    我在下面遇到错误 Error A problem was found with the configuration of task project1 zipalignDebug gt File D Program Files Android
  • Eclipse 的最佳 JVM 设置是什么? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 隐藏纵向中的 UISplitViewController 覆盖

    在采用新的UISplitViewController我正在尝试更改使用时发生的默认行为UISplitViewControllerDisplayModeAutomatic mode 在纵向工作时 我希望当用户触发推送到细节侧时隐藏主覆盖层 默
  • 通过 http 请求下载文件时的进度条

    我需要下载一个相当大的 200MB 文件 我想出了如何下载并保存文件here https stackoverflow com questions 16694907 how to download large file in python w
  • numpy.sin 函数以度为单位?

    我正在研究一个与计算折射角有关的问题 但是 我似乎无法以度为单位使用 numpy sin 函数 我尝试使用 numpy Degrees 和 numpy rad2deg numpy sin 90 numpy degrees numpy sin
  • 如何使用 JavaFX 侦听在 TextField 中完成的鼠标粘贴?

    将文本复制到剪贴板 右键单击文本字段并按 粘贴 有没有办法在单击粘贴时监听 或者更确切地说 以这种方式粘贴某些内容后 字段中的输入文本发生了变化 因为这些在这种特殊情况下不起作用 setOnKeyReleased setOnInputMet
  • C 预处理器:在 #warning 中展开宏

    我想在 warning 指令中打印宏值 展开宏 例如 对于代码 define AAA 17 warning AAA 所需的编译时输出是 warning AAA 17 我该用什么 或者 如何增强代码 您可以使用预处理器指令 pragma me
  • ValueError:给定的 numpy 数组中至少有一个步幅为负,并且当前不支持具有负步幅的张量

    我正在使用 RL 编写自动驾驶代码 我正在使用稳定的基线3和开放的人工智能健身房环境 我在 jupyter 笔记本中运行以下代码 但出现以下错误 Testing our model episodes 5 test the environme
  • 使用经典 ASP 将 Base64 保存到图像

    我一直在尝试使用经典 ASP 从服务器端将 base64 文件保存为图像 我想要的是将文件自动保存到特定位置并给它一个文件名 现在我可以很好地编码它的这方面 但是 如果不先在浏览器上渲染 我就无法获取保存图像的代码 这对我来说不起作用 因为
  • 使用 Mercurial SCM 进行分支

    现在我正在学习 Ruby on Rails 并且正在阅读 Agile Web Development with Rails 一书 我还决定尝试一下 Mercurial 因为我已经阅读了分布式 SCM 的相关内容 而且这似乎是一个理想的情况
  • 从经典 asmx 切换到 wcf 的好处

    最近 我从使用 asmx Web 服务切换到使用 wcf 服务 转换即将完成 但我知道我需要进行大量错误检查和测试 以确保所有内容都按预期移植 我的问题是 到目前为止 我只能想到使用 wcf 的一个好处 那就是您可以获得一种简单的方法来实现