使用 webMessageEncoding 的 webHttpBinding:如何配置?

2024-03-12

我有一个 REST WCF 服务。它使用 webHttpBinding 并且配置如下所示:

<service name="IndexingService.RestService" behaviorConfiguration="IndexingService.Service1Behavior">
    <endpoint
      address=""
      binding="webHttpBinding"
      bindingConfiguration="CustomMapper"
      contract="IndexingService.IIndexingService"
      behaviorConfiguration="webby"/>
</service>

CustomMapper 用于应用自定义 WebContentTypeMapper,我尝试按如下方式配置:

<binding name="CustomMapper">
        <webMessageEncoding webContentTypeMapperType="IndexingService.CustomContentTypeMapper, IndexingService" />
        <httpTransport manualAddressing="true" />
</binding>

但我无法弄清楚应该在 web.config 中的何处插入这些行:

  • 如果我将这些行放在下面,则会收到错误,因为 webMessageEncoding 不是可识别的元素。
  • 如果我将这些行放在自定义绑定标记下方,则会收到一条错误消息,指出 wsHttpBinding 没有定义 CustomMapper!?

有人可以解释如何将自定义类型映射器与 webHttpBinding 一起使用吗?


如果您定义了完整的自定义绑定(就像您在此处所做的那样)CustomMapper):

<binding name="CustomMapper">
   <webMessageEncoding webContentTypeMapperType=
             "IndexingService.CustomContentTypeMapper, IndexingService" />
   <httpTransport manualAddressing="true" />
</binding>

那么您需要在服务端点中使用该自定义绑定 - 而不是 webHttpBinding!这个配置部分做了not仅定义一个绑定配置!

在这里尝试这个配置:

<system.serviceModel>
  <bindings>
    <customBinding>
       <binding name="CustomMapper">
          <webMessageEncoding webContentTypeMapperType=
                 "IndexingService.CustomContentTypeMapper, IndexingService" />
          <httpTransport manualAddressing="true" />
       </binding>
    </customBinding>
  </bindings>
  <services>
    <service name="IndexingService.RestService"   
             behaviorConfiguration="IndexingService.Service1Behavior">
        <endpoint
           address=""
            binding="customBinding"
            bindingConfiguration="CustomMapper"
            contract="IndexingService.IIndexingService"
            behaviorConfiguration="webby"/>
     </service>
  </services>
</system.serviceModel>

Marc

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

使用 webMessageEncoding 的 webHttpBinding:如何配置? 的相关文章

  • 如何添加重试以调用 Web 服务?

    我有一个应用程序调用使用 wsHttpBinding 的 Web 服务 我需要在连接超时等情况下对 Web 服务调用实现某种重试功能 执行此操作的最佳方法是什么 我已经阅读过有关 WS ReliableMessaging 的内容 但这不是
  • ASP.Net Web API 与 WCF,我的项目中应该选择哪一个

    到目前为止 我已经在网络上阅读了很多关于 WCF 和 ASP Net Web API 之间的差异的文章 不幸的是 我无法清楚地知道什么才能达到我的目的 我读过的大多数文章都强调了这两个 Web 服务的设计观点 但我很困惑什么最适合我的项目
  • 将 fetch 与 Content-Type 结合使用时出现 CORS 错误 [重复]

    这个问题在这里已经有答案了 我正在尝试从 FireFox 中的不同域向 REST Web 服务发送 POST 请求 我为此使用 JavaScript 获取 函数 我在 IIS 中托管 REST Web 服务 在我在 JavaScript 中
  • 如何在WCF Rest服务中从流上传图像

    我正在尝试创建 wcf 服务 该服务将上传 pdf doc xls 图像等文件 但 pdf txt 文件正在上传并正确打开 但是当我尝试上传图像文件时 文件正在上传 但是图像不可见 OperationContract WebInvoke M
  • .NET 3.5 中的实体框架延迟加载

    由于服务器限制 我仅限于 Net 3 5 我使用 Linq to SQL 进行延迟加载 但后来切换到实体框架 L2E 在 3 5 中没有延迟加载 而 L2S 有 有没有办法以某种方式重新生成模板来实现这一目标 您必须在 EF 1 NET 3
  • 我希望能够使用 lambda 表达式来指定要通过 wcf 服务返回的值范围

    我不知道这是否可能 但这会很酷 问题是这是否可能 但如果可能的话 举一个例子 我不确定您将使用什么方法签名来将 lambda 表达式传递到其中 例如方法IList
  • Mandrill 通过 REST API 作为单独的消息发送给多人

    我正在尝试使用山魈发送邮件 问题是 当我将多个收件人添加到 收件人 参数时 它会多次向 收件人 列表中的所有收件人发送同一封邮件 我期望将相同的邮件单独发送给列表中的每个人 我错过了什么吗 key app key template name
  • 将消息添加到天蓝色存储队列而不使用base64编码?

    我无法将我的请求编码为 base64 并且根据文档我不应该这样做 但我无法弄清楚 如果我 Base64 编码它工作正常
  • XML-RPC 与 REST

    我打算在这里构建一个小型服务器 并想为其创建一个 API 我正在决定什么是更好的并且已经排除了SOAP因为在我看来那件事是一团糟 我只剩下REST and XML RPC 我真的很喜欢XML RPC 它实现起来非常简单 并且足够常规 所有客
  • wcf json网络服务

    创建 JSON Web 服务的最佳方法是什么 我们还有另一个使用 Java 的团队 他们坚持使用 JSON 完成所有通信 我更喜欢使用 WCF 而不是任何第三方框架 我找到了这个博客 http www west wind com weblo
  • 为什么将 SOAP 用于 Web 服务?

    我读过教程 web service php mysql xml json http davidwalsh name web service php mysql xml json 看来一切都好 但是为什么我们应该使用soap 来提供网络服务呢
  • 如何向我的 Spring MVC REST 服务添加错误?

    如果用户没有输入我正在编码的两个名称 我如何更改 更新来自 Spring MVC 的以下 REST 调用以返回错误 未找到 RequestMapping value name method RequestMethod GET Respons
  • 可能有相同的合同,相同的绑定,相同的地址,但不同的端口?

    我有需要通过 basicHTTPBinding 进行通信的手持设备 我有合同 一切都按照广告进行 我需要扩展它以轻松支持测试环境 培训 当然还有生产的更改 我选择了端口路线 认为我可以公开具有端口差异的不同端点 并根据端口决定我想要来自哪个
  • Yammer API 限制

    Yammer Rest api 文档表示 每个应用程序每个用户在 10 秒内最多可以发出 10 个请求 问题 什么是user这里 是为当前经过身份验证的 yammer 用户发出请求的 IP 地址还是承载令牌 如果我们所有的用户都使用相同的外
  • 在 WCF Web 编程模型中,如何编写具有一组查询字符串参数(即具有相同名称)的操作协定?

    使用 WCF Web 编程模型 可以指定一个操作契约 如下所示 OperationContract WebGet ResponseFormat WebMessageFormat Xml UriTemplate SomeRequest qs1
  • 带点 (.) 的 Spring MVC @PathVariable 被截断

    这是问题的延续Spring MVC PathVariable 被截断 https stackoverflow com questions 3526523 spring mvc pathvariable getting truncated S
  • REST - 复杂的应用程序

    我正在努力将 RESTful 原则应用到我正在开发的新 Web 应用程序中 特别是 为了实现 RESTful 每个 HTTP 请求本身都应该携带足够的信息 以便其接收者对其进行处理 从而与 HTTP 的无状态性质完全一致 该应用程序允许用户
  • 在java中轮询Http服务器(重复发送http get请求)

    当对其进行 REST 调用时 我的 Web 服务器会发送一些信息 我想不断轮询该服务器 间隔5秒后重复发送HTTP GET请求 以检查返回的信息是否有任何变化 做到这一点最有效的方法是什么 您能提供一些代码示例吗 请注意 我只想开发客户端代
  • 瞬态 REST 表示

    假设我有一个 RESTful 超文本驱动的服务 用于模拟冰淇淋店 为了帮助更好地管理我的商店 我希望能够显示每日报告 列出所售每种冰淇淋的数量和美元价值 看来这种报告功能可以作为名为 DailyReport 的资源公开 DailyRepor
  • Spring RESTful控制器方法改进建议

    我是 Spring REST 和 Hibernate 的新手 也就是说 我尝试组合一个企业级控制器方法 我计划将其用作未来开发的模式 您认为可以通过哪些方法来改进 我确信有很多 RequestMapping value user metho

随机推荐

  • 在Python中,为什么负数的偶次方仍然是负数? [复制]

    这个问题在这里已经有答案了 在Python中 gt gt gt i 3 gt gt gt i 4 81 Why is i 4不评价为 i 4 但作为 i 4 我想有人可能会争辩说 求幂优先于 隐式 乘法i减一 即你应该阅读 1 i 4 但我
  • 如何在gdb中调用汇编?

    在 gdb 中我可以使用call运行函数 但是如果我想运行一些额外的程序集怎么办 Prior to GCC 5 1 I don t know of a way to run arbitrary machine code unless you
  • character_set_connection 的目的是什么?

    刚刚读过 Stefan Gehrig 的精彩回答是否需要 设置字符集utf8 https stackoverflow com questions 1566602 is set character set utf8 necessary 它比
  • 此错误是什么意思“NATURAL join 中使用的列不能有限定符”

    执行下面的代码后 我收到 ORA 25155 错误 SELECT p prod id prod name prod list price quantity sold cust last name FROM products p NATURA
  • 使用计数器和条件结束循环

    在Python中 我可以实现一个带有步数计数器和停止条件的循环作为经典案例for loop for i in range 50 result fun i print i result if result 0 break where fun
  • Jquery 在 onload 上执行 onchange 事件

    我有一个函数 可以在更改事件时运行后期操作 select marca change function var marca select marca option selected attr value select modello html
  • 从 webWorker 访问 localStorage

    WebWorker 可以访问 localStorage 吗 如果不是为什么不呢 从安全角度来看有问题吗 Web Worker 只能访问以下内容 XMLHttpRequest https developer mozilla org en US
  • java.net.SocketException:使用 HTTPConnection 重置连接

    我正在尝试使用一些外部 API 来获取一些数据 当数据量很小时 一切正常 但是当 API 返回的数据量很大时 我得到连接重置例外 下面的代码来自java类InterfaceHelper 我还在出现异常的行no处标记了注释 它在尝试从 Inp
  • 将 Backbone.sync 扩展为批量同步?

    应使用什么技术来实现 Backbone sync 的批量插入 更新 我想这取决于你的使用场景 以及你想改变多少调用代码 我认为你有两个选择 选项 1 不更改客户端 调用 代码 奇怪的是 注释Backbone sync 的来源 http ba
  • 模板,仅在头文件中编码?

    最近我了解到 如果我想使用模板 我应该只在头文件中实现代码 我知道有解决方案可以在 h 和 cpp 文件中执行此操作 但假设我不想这样做 我应该将所有代码写入 h 文件中吗 即使程序可能很大 这是一种编写代码的好方法吗 另外 只有 h文件
  • Django 全局查询集

    我想在我的 django 应用程序中有一个全局变量 用于存储我稍后在某些函数中使用的对象的结果列表 并且我不想多次评估查询集 我这样做 from app models import StopWord a list StopWord obje
  • 如何修复尝试使用 Git 推送时出现的“remote: fatal error in commit_refs”错误?

    当我尝试推动master托管于的分支https github com https github com I get 远程 commit refs 中出现致命错误 我该如何解决这个问题 就我而言 当我尝试推送时 GitHub 已经宕机了 只需
  • 在docker中使用overlay使用多主机网络功能是否需要swarm

    我已按照以下示例进行操作开始覆盖 https docs docker com engine userguide networking get started overlay 我有一个简单的查询 是否可以使用覆盖的多主机网络功能而无需创建sw
  • Gradle 错误:意外的输入:android.gms:play-services

    在运行时在 Gradle 中显示错误 错误 任务 app transformClassesWithInstantRunForDebug 执行失败 意外输入 ImmutableJarInput name com google android
  • 使用 Boost 序列化和反序列化 JSON

    我是 C 新手 序列化和反序列化类型数据的最简单方法是什么std Map using boost 我找到了一些使用的例子PropertyTree但它们对我来说很模糊 注意property tree将键解释为路径 例如放置 a b z 对将创
  • 使用 numpy 和/或 scipy 插值 3D 体积

    我非常沮丧 因为几个小时后我似乎无法在 python 中进行看似简单的 3D 插值 在Matlab中我所要做的就是 Vi interp3 x y z V xi yi zi 使用 scipy 的 ndimage map coordinate
  • 不明确的列名

    我有以下 SQL 它抛出错误 Ambigously column name id select tbl registration tbl ebp name as ebp name tbl Users id as user id tbl eb
  • 错误在 Rails 中显示两次

    我正在使用 Carrierwave 上传用户模型中的个人资料图片 如果用户尝试上传任何非图像文件 则必须引发错误 但是 该错误在屏幕上显示两次 请帮忙 用户模型代码类 User include CarrierWave MiniMagick
  • NVD3 工具提示内容不起作用

    我在我的项目中使用 NVD3 库 并且编写了以下代码 var chart nv models lineChart useInteractiveGuideline true margin top 50 right 50 bottom 50 l
  • 使用 webMessageEncoding 的 webHttpBinding:如何配置?

    我有一个 REST WCF 服务 它使用 webHttpBinding 并且配置如下所示