WCF、ASMX 基本 HTTP 绑定和 IIS

2024-01-12

我一直在使用 WCF“自”托管应用程序进行大量工作。最近,我被要求编写一个 Web 服务,其中调用客户端是一个名为“WGET”的基于 Linux 的程序。我想使用 WCF 而不是传统的 ASMX Web 服务。 Web 服务正在返回标准 XML 响应。我不确定这两种技术之间的重点细节,但我知道 WCF 是正确的途径。我创建了一个托管在 IIS 中的 WCF 服务(使用 basicHttpBinding)。

1.) 经典的 ASMX Web 服务(标准 HTTP POST/GET)是否使用 SOAP 来返回响应?我从 XSD 创建了一个用于 Web 服务响应的类。幕后到底发生了什么?是否只有特殊的 XML HTTP 标头知道如何处理响应?响应没有封装在 SOAP 中吗?传统的 ASMX Web 服务与我使用 .Net“XSD”程序生成的类完美配合。

2.) 我想使用 WCF 来提供此服务。使用 basicHttpBinding 有效吗?正如我所读到的,这是用于 ASMX 客户端的正确绑定。它使用 SOAP、标准 HTTP 标头还是其他内容?

3.) 这是一个愚蠢的问题,因为我没有做过很多 Web 服务编程。我注意到 ASMX 默认登录页面上有响应示例和调用功能的代码。当我使用 WCF 创建相同的服务时,我必须创建一个客户端应用程序来执行这些任务。有没有办法像经典的 ASMX 服务一样公开 WCF 端点,或者 WSDL 是唯一的途径吗?

一如既往,我非常感谢您的反馈。

谢谢, 布伦南


回答您的问题:

1.) 经典的 ASMX Web 服务(标准 HTTP POST/GET)是否使用 SOAP 来 返回响应?

是的。 ASMX 使用 SOAP 1.1 标准,该标准也在 WCF 中实现。

2.) 我想使用 WCF 来提供此服务。将使用 basicHttpBinding 工作?

The basicHttpBinding是模仿 ASMX 服务的完美匹配,是的。它像 ASMX 一样使用 SOAP 1.1,并且其行为应该与 ASMX 非常相似。

3.) 我注意到 ASMX 默认登陆页面上有以下示例 响应和代码来调用 功能。有没有办法 像经典一样公开 WCF 端点 ASMX 服务还是 WSDL 唯一 路线?

WCF 仅显示一个默认页面,让您知道确实存在服务。没有旋钮或选项可以打开以获得相同的 ASMX 样式页面(出于安全原因)。如果您需要的话,您必须自己做这件事。 WSDL / XSD 确实是 WCF 的最佳选择。

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

WCF、ASMX 基本 HTTP 绑定和 IIS 的相关文章

随机推荐

  • LCOV 从代码覆盖率分析中排除整个包

    我使用 LCOV 作为代码覆盖率的图形方式来告诉我已经测试了多少代码 但是它包含我不关心的代码文件夹 并且它使我的覆盖率低于实际水平 有没有办法排除整个目录 让我可以忽略一堆我不关心的 cpp 文件 我知道关于 remove但这似乎不适用于
  • 使用带有history.pushstate和popstate的后退按钮时如何触发更改?

    对于 js 来说 我几乎是一个新手 所以如果我错过了一些非常简单的东西 我很抱歉 基本上 我已经对使用 History pustate 和 popstate 进行了一些研究 并且已经将查询字符串添加到了 url 的末尾 v images o
  • tk 之后无法输入

    如果有这段代码 import Tkinter as tk import tkFileDialog menu tk Tk res tkFileDialog askopenfilename un comment this line label
  • Android Facebook api 3.0错误:无法使用空调用包调用LoginActivity

    我正在尝试将 Android 应用程序与新的 facebook 3 0 api 集成 但出现以下异常 java lang RuntimeException 无法恢复活动 dk imu konnekt com facebook LoginAc
  • MySQLdb - 检查行是否存在 Python

    我正在尝试使用 python 检查是否存在与我的数据库同名的行 但无法完全获取它 这就是我正在尝试的 我知道连接是 wokring try cursor execute SELECT Name COUNT FROM Item Info WH
  • 如何解决 KeyError: 'A Secret key is required to use CSRF.' 错误在烧瓶应用程序中使用 wtform 时?

    我一直在尝试使用 Flask 和 wtforms 以及 firebase 数据库构建一个 Web 应用程序 但我不断收到错误消息 KeyError 需要使用 CSRF 的密钥 我不知道如何解决它 这是我的代码 from flask impo
  • 如何将 html5 canvas 图像转换为 json 对象?

    您好 我必须将一组图像转换为 json 对象 但是 作为第一步 我尝试对单个图像执行此操作 但我不知道 json 对象是否已创建 请帮我检查一下对象是否被创建 这是代码
  • C# Collection 选择属性的值与另一个属性的最小值

    所以假设我有一种类型Car有两个属性Speed and Color public class Car public int Speed get set public string Color get set 使用 LINQ 我可能会找到最低
  • Celery Worker 数据库连接池

    我正在独立使用 Celery 不在 Django 中 我计划让一种工作任务类型在多台物理机器上运行 该任务执行以下操作 接受 XML 文档 改造它 Make multiple数据库读取和写入 我正在使用 PostgreSQL 但这同样适用于
  • PredicateBuilder:嵌套在 .And() 内的 OR 条件

    我正在使用 PredicateBuilder 针对 Umbraco 节点列表构建查询来过滤搜索结果 我通过 QueryString 将搜索到的 ID 值作为字符串传递 然后将其与列表中每个 Umbraco 节点上的字符串字段进行比较以获取匹
  • 如何在 Symfony 中从编译器传递注入共享服务

    我正在尝试通过旨在替换 FOSRestBundle 中的服务之一的编译器通道注入令牌存储服务
  • R Shiny:如何在执行反应语句之前更新输入对象

    我正在基于很棒的 R Shiny 包构建一个探索性视觉应用程序 该应用程序要做的一件事是读取实值 测量 列并显示这些测量值的箱线图 此外 还有一个可选的selectInput小部件 允许用户选择group要深入研究的变量 这group变量基
  • 如何在 springboot 应用程序中启用 Cassandra CqlSession Metrics

    我想启用 cassandra cqlsession 指标 当尝试注册 cqlsession 指标时 它在 springboot 应用程序中提供了 optional empty 这里使用 cassandra datastax java 驱动程
  • 在 std::function 上递归应用 std::bind 的问题

    给定一个函数f x y z 我们可以绑定x到 0 得到一个函数g y z f 0 y z 我们可以继续这样做并得到h f 0 1 2 在 C 语法中 这将是 include
  • ScheduledThreadPoolExecutor 和 corePoolSize 0?

    我想要一个ScheduledThreadPoolExecutor如果没有工作要做 它还会停止最后一个线程 如果有新任务 它还会创建线程 并使线程保持活动状态一段时间 但是一旦没有更多的工作要做 它应该再次丢弃所有线程 我天真地将其创建为ne
  • 如何使用双浮点?

    我正在努力弄清楚如何告诉 Lisp 我想使用双浮点值 假设我有 let x 1 format t A x 3 0 这使 0 33333334 如果我想使用双浮点数 我尝试了以下方法 let x 1 declare type double f
  • 无法将 Google 帐户添加到 Android 模拟器

    我有一个将我的 Android 模拟器连接到 Gmail 时出现问题 即使我可以浏览网页 我也无法添加我的 Gmail 帐户 我去Accounts and Sync add account google sign in 然后输入我的gmai
  • Service Worker 和透明缓存更新

    我正在尝试为一个简单但旧的 Django Web 应用程序安装 ServiceWorker 我开始使用这个例子Chrome 团队的通读缓存示例 https googlechrome github io samples service wor
  • 如何从 Python 控制 Windows 应用程序

    我在 Windows PC 上安装了该应用程序 我想使用 python 启动该应用程序并选择下拉选项并在该应用程序中执行一些其他活动 我能够使用以下命令启动该应用程序os system命令 但我无法继续进行 我希望我的程序能够执行以下操作
  • WCF、ASMX 基本 HTTP 绑定和 IIS

    我一直在使用 WCF 自 托管应用程序进行大量工作 最近 我被要求编写一个 Web 服务 其中调用客户端是一个名为 WGET 的基于 Linux 的程序 我想使用 WCF 而不是传统的 ASMX Web 服务 Web 服务正在返回标准 XM