从经典 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 的好处 的相关文章

  • 是否可以从 VS2010 插件刷新 WCF 服务引用?

    我想在 VS2010 插件中 模拟 右键单击 更新服务引用命令 我有一个对包含 Silverlight 项目的引用 我知道服务引用的名称和服务的 url 我发现了这个 http dedjo blogspot com 2007 03 addi
  • WCF 数据合约中可以包含 WCF 操作合约吗?为什么?

    我有一份数据合同 说是用户 它是可序列化的并且可以通过网络传输 我想要一个操作合约 SaveUser 我可以将 SaveUser User user 作为操作合同保留在我的服务合同中 但我可以将其作为自己的行为保留在我的数据合约本身中吗 理
  • .NET Web 服务 (asmx) 超时问题

    我正在连接到供应商提供的 Web ASMX 服务并通过线路发送一组数据 当您向项目添加服务引用时 我的第一次尝试遇到了 Visual Studio 默认在 app config 文件中引发的 1 分钟超时 我把它增加到 10 分钟 又是一次
  • 通过 IoC 容器实例化 WCF 服务

    是否可以使 WCF 运行时通过 IoC 容器而不是通过其通常的进程来实例化服务 此外 考虑到容器的类型生活方式配置与服务的 InstanceContextBehavior 之间存在潜在冲突 这种方法会是一个糟糕的主意吗 我知道我可能完全问错
  • 如何自动执行/安排 IIS 中托管的 WCF 服务调用?

    我有一个非常简单的服务合同 用于管理自己的数据导入 类似于 using System ServiceModel namespace Company Services Domain Contract ServiceContract Name
  • 带有 WCF BadContextToken 的 PHP Soap 客户端

    经过几天的谷歌 in 尝试 脱发 我仍然找不到解决方案 所以请帮助 简短信息 我需要使用 PHP SOAP 客户端 的 WCF 服务 它使用 wsHttpBinding ws security 并且无法设置 basicHttpBinding
  • EF 和 WCF 错误 - SQL Server Compact 不适用于 ASP.NET 开发

    您好 我有一个简单的 wpf 应用程序设置来使用在另一个项目中运行的测试 wcf 服务 该服务使用实体框架从附加到 wcf 服务项目的 SQL Compact 3 5 sdf 中检索几行 我收到 SQL Server Compact 不适用
  • 在 Mono 2.8.2 中创建 WCF 服务

    我安装了 mono 2 6 7 和 WCF 服务
  • 检查Web服务是否存在

    有人可以告诉我确定给定 URL 是否存在 Web 服务 ASP NET 的最佳方法吗 我假设一种方法类似于使用 System Net Webclient 发出请求 但我如何确定它是否是有效的 Web 服务以及我应该发出哪种类型的请求 编辑
  • 在 WCF 上重用我的 PagedList 对象

    问题 我有一个自定义集合PagedList
  • 如何使用 WSDL 和 XSD 的注释生成 .NET 类

    有一些 XSD 和 WSDL 我想从它们生成 C 代码 我使用了 svcutil exe 但它不会从 XSD 注释生成 XML 注释
  • 关闭WCF代理

    当涉及到 WCF 代理时 我始终遵循 try Close catch Abort 的指导 我现在面临一个代码库 它在 MVC 控制器中创建代理并让它们超出范围 我认为我们需要编辑代码库以使用 try Close catch Abort 但存
  • 自定义 WCF DataContractSerializer

    是否可以用我自己的序列化程序替换 Windows Communication Foundation 中的 dataContractSerializer 如果可能的话 我怎样才能实现这一目标 是的 您可以提供自己的序列化器实现 默认情况下 W
  • jquery ajax“发布”调用

    我是 jQuery 和 Ajax 的新手 并且在 发布 方面遇到问题 我正在使用 jQuery Ajax post 调用将数据保存到数据库 当我尝试保存数据时 它将 null 传递给我的 C 方法 jQuery 看起来像这样 functio
  • 从一个客户端使用多个 WCF 服务

    我的网络场有 10 台运行 IIS 的服务器 在每台服务器上我都有相同的网站和相同的 WCF 服务 它公开了一些用于读取 删除缓存 会话 应用程序变量和其他内部数据的功能 在其他一些 Web 服务器上 我有一个 管理 Web 应用程序 它是
  • 自定义行为的配置错误

    我创建了一个与 WCF 服务一起使用的自定义行为 以将所有错误记录到应用程序日志中 我做了一个BehaviorExtensionElement对于行为 public ErrorLoggingBehaviorExtensionElement
  • WCF 服务参考支持文件未更新

    我有一个 VS 2010 解决方案 其中包含一个 WCF 服务项目和一个单元测试项目 单元测试项目有一个对WCF服务的服务引用 WCF 服务项目的 Web config 将许多绑定属性设置为非默认值 网络配置 特别注意maxBufferSi
  • 如何为本机启用现有 WCF 服务的 JSONP?

    我有一个现有的服务 如下方法 AspNetCompatibilityRequirements RequirementsMode AspNetCompatibilityRequirementsMode Allowed ServiceBehav
  • 是否可以在自定义 WCF 服务行为中创建 TransactionScope? (异步、等待、TransactionScopeAsyncFlowOption.Enabled)

    TL DR 解释问题的截屏视频 https youtu be B Q3T5KpiYk https youtu be B Q3T5KpiYk Problem 当交易从客户端流向服务时交易 当前变成null after awaiting服务到服
  • 使用 WCF 支持“application/x-www-form-urlencoded”发布数据的最佳方式?

    我正在基于 W3C 规范构建 WCF 服务 该规范定义了接受 application x www form urlencoded 发布数据的 RESTful Web 服务端点 默认情况下 WCF 不支持这种类型的消息编码 我发现了许多创建如

随机推荐

  • 使用 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 的一个好处 那就是您可以获得一种简单的方法来实现