如何使用 MessageHeader.CreateHeader() 方法向 WCF 消息头添加属性?

2023-12-20

我使用以下代码添加 WCF 自定义标头

 MessageHeader header = MessageHeader.CreateHeader("Key", "ns", "Value");
 OperationContext.Current.OutgoingMessageHeaders.Add(header);

对此我还想补充一点

    xmlns:wsa="http://www.w3.org/2005/08/addressing"
   wsa:IsReferenceParameter="1"

作为此消息标头的属性。

有什么方法可以将上述命名空间和属性添加到消息头中吗?


我找到了解决方案。 我们必须实现自定义标头,它继承自 Message Header 类。

MessageHeader 类确实有方法OnWriteStartHeader()。我们可以在此方法中添加 xml 命名空间。

此外,我们还必须重写 OnWriteHeaderContents() 方法并写入我们想要的 xml 或值作为 MessageHeader。

准备好后,在 request.Header.Add() 中添加消息头时,传递我们的自定义标头类的对象。

请参阅以下链接了解更多详细信息。

http://www.netframeworkdev.com/windows-communication-foundation/messageheader-serializer-how-to-use-attributes-52827.shtml http://www.netframeworkdev.com/windows-communication-foundation/messageheader-serializer-how-to-use-attributes-52827.shtml

http://social.msdn.microsoft.com/forums/en-US/wcf/thread/c2a39df8-3943-4c41-acca-6da8e96f0dff http://social.msdn.microsoft.com/forums/en-US/wcf/thread/c2a39df8-3943-4c41-acca-6da8e96f0dff

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

如何使用 MessageHeader.CreateHeader() 方法向 WCF 消息头添加属性? 的相关文章

  • WCF 服务参考支持文件未更新

    我有一个 VS 2010 解决方案 其中包含一个 WCF 服务项目和一个单元测试项目 单元测试项目有一个对WCF服务的服务引用 WCF 服务项目的 Web config 将许多绑定属性设置为非默认值 网络配置 特别注意maxBufferSi
  • 创建WCF数据服务以在服务主机中使用

    我有一个服务应用程序 它通过不同的绑定托管多个 WCF 端点 我现在想在同一服务主机中托管 WCF 数据服务 这个帖子 https stackoverflow com questions 2926767 wcf data service h
  • 如何为本机启用现有 WCF 服务的 JSONP?

    我有一个现有的服务 如下方法 AspNetCompatibilityRequirements RequirementsMode AspNetCompatibilityRequirementsMode Allowed ServiceBehav
  • 自托管 WCF REST 服务和基本身份验证

    我创建了一个自托管的 WCF REST 服务 带有 WCF REST Starter Kit Preview 2 中的一些额外内容 这一切工作正常 我现在正在尝试向服务添加基本身份验证 但我在 WCF 堆栈中遇到了一些相当大的障碍 这阻止了
  • WCF 仅跟踪失败的请求?

    我想将跟踪信息保存到 svclog 文件中 但仅限于失败的请求 这可能吗 如果是这样 具体如何 我有一个每分钟调用数百次的 WCF 服务 在极少数情况下 客户端会收到错误 500 该错误发生在 WCF 内运行的代码边界之外 通常是安全问题
  • 如何保证单向方法的可靠性?

    The 关于单向调用 回调和事件您需要了解的信息 http msdn microsoft com en us magazine cc163537 aspx文章讲述 客户端不关心调用结果的事实并不意味着客户端根本不关心调用是否发生 一般来说
  • 如何增加 dot net core 2.1 项目中 WCF 服务的超时值

    我发布此内容是因为我无法在 Stack Overflow 上找到任何位置通过连接服务添加服务引用来解决利用 WCF 的 Net Core 项目的此问题 我的问题是 由于长时间运行的操作请求 我面临客户端超时 那么 由于 Net Core 不
  • 从 WCF REST 获取错误详细信息

    我有一个由 Net WCF 客户端使用的 REST 服务 遇到错误时 REST 服务会返回 HTTP 400 错误请求 响应正文包含 JSON 序列化详细信息 如果我使用 Fiddler Javascript 或直接从 C 执行请求 我可以
  • WCF 缓存解决方案 - 需要建议

    我工作的公司正在寻求实施缓存解决方案 我们托管了多个 WCF Web 服务 并且需要缓存某些可以持久保存和获取的值 无论客户端与服务的会话如何 我正在研究以下技术 缓存应用程序块 4 1 使用 HttpRuntime 缓存的 WCF TCP
  • 使用 SOAP 调用 WCF 服务

    我正在尝试在不创建 WCF 客户端的情况下测试 WCF 服务 我有类似的代码 问题here https stackoverflow com a 1643025 1397017 我希望完全控制 SOAP 负载 因此我希望能够发出我自己的 We
  • WCF 与 WebAPI 和本机移动设备

    我一直在开发一个完全基于 ajax 的单页 Web 应用程序 无 POST 现在我在开发过程中使用 ASMX 来提供 Web 服务 Web 服务使用 JSON 数据 对于该版本 我知道我需要升级到 WCF 或 WebAPI 最终 我计划构建
  • 将 .NET 类库(主要定义 CRUD 操作)公开为服务

    公开现有内容的最佳 有效和最快的方法是什么 类 图书馆 主要定义 CRUD 操作 作为service 周转基金服务 or WCF数据服务 以便它可以与银光 or Ajax 在那儿tools 代码生成器 RAD 工具 哪些可以支持这个 预先感
  • 如何在没有 ServiceHost 类的情况下使用 WCF 创建简单的 Web 服务器?

    我已经开始学习 WCF 并希望通过直接使用通道堆栈创建一个简单的 Web 服务器来了解其内部结构 我在网络上找到了很多理论 但我希望看到一个接收和响应 httprequest 的工作示例代码 我可以使用任何浏览器进行测试 我希望能够通过组装
  • 反序列化 HTTP POST 参数

    我正在尝试找到一种更原生或更优雅的解决方案 用于将 HTTP POST 参数反序列化为相应的对象 目前 我将字符串转换为字典 然后将其序列化为 JSON 然后将其反序列化为我的最终对象 参数字符串示例 TotalCost 0 01200 D
  • 在 WCF 中通过 net.pipe 运行多个服务

    我正在构建一个分布式应用程序 需要 6 种不同的服务 我必须使用 Visual Studio 2008 在我的 XP 笔记本电脑上演示该应用程序 是否可以同时在 localhost 上运行多个服务 所有服务都使用 net pipe 例如 n
  • WCF - 将空元素转换为可为空的本机类型

    将 SOAP 字段元素留空会导致本机类型出现强制转换错误 遗憾的是 由于客户端限制 无法使用 xsi nil true 将 WCF 协定本机类型标记为 nullable 似乎不足以阻止将以下错误返回给客户端 字符串 不是有效的布尔值 在 S
  • 使用 WCF 和 .NET 4.0 在 C# 中实现 SOAP 客户端

    我在 NET 4 0 中开始使用 WCF 时遇到问题 这是我的情况 我用 PHP 创建了一个小型 SOAP 服务器 我有一个 C 项目 我想在其中连接到此服务器并启动 SOAP 通信 我的问题是 我不知道如何在 C 中执行此操作 我找不到
  • IIS6 中托管的 WCF 服务在生产中收到 404

    我已经构建了一个简单的 WCF 服务并将其部署到 IIS6 我注意到它可以在我的开发和登台环境中运行 但不能在生产环境中运行 每次我尝试点击服务元数据链接时 都会收到 404 页面 我检查了我能想到的所有 IIS 配置 它们是相同的 所以我
  • 如果我使用带有表单身份验证的 WCF,php 或 java 客户端将如何进行身份验证?

    我有一个通用的概念验证 WCF 服务 它使用表单身份验证来保护访问 当我的客户端是 NET 时 一切都很好 vb 代码如下 Dim client As SupplierServiceClient New SupplierServiceCli
  • 如何对 NServiceBus.Configure.WithWeb() 进行单元测试?

    我正在构建一个 WCF 服务 该服务接收外部 IP 上的请求并将其转换为通过 NServiceBus 发送的消息 我的单元测试之一调用Global Application Start 它执行应用程序的配置 然后尝试将 Web 服务解析为 验

随机推荐

  • 使用 HTML5 验证多个电子邮件地址

    我正在尝试构建一个电子邮件表单 该表单将多个逗号分隔的电子邮件作为输入并使用 HTML5 验证它们 我想使用以下正则表达式来检查输入的完整性 b A Za z0 9 A Za z0 9 A Za z 2 4 b 这是我尝试过的 这似乎不适用
  • 如何在 CakePHP 中定义模型的“全局”查找条件?

    是否可以定义在使用特定模型的所有控制器和功能中始终有效的查找条件 例如 如果我只想退回有库存的产品 无论如何 也许在模型中的某个地方 conditions gt array inStock gt gt 0 我认为您可以尝试在模型上执行一个函
  • 如何使用puppet为不同用户设置自定义bash环境?

    我刚刚开始使用 puppet 和 vagrant 为我们的团队设置开发环境 该团队由 8 名以上的开发人员组成 每个人都有其特定的 bash 配置等 我已经将所有软件安装在系统来快速部署新的开发虚拟机 但我不确定以自动化的方式为每个特定用户
  • Gradle 错误:字符串索引超出范围:0

    尝试使用 Gradle 编译 Android 项目并收到奇怪的错误 当我跑步时 gradlew tasks stacktrace 尝试过干净的重建 新的仓库克隆 不同的分支 同事能够构建 aok 寻找要检查 尝试解决此问题的想法 更新 恢复
  • Selenium 和 Geckodriver 在 Python 中创建 Webdriver 时出现问题

    我在 python 爬虫中有一段代码曾经可以工作 我将其安装在新系统上 现在正在尝试获取正确的依赖项 使用geckodriver 0 13 0并执行以下代码时 def login self print self colors OKBLUE
  • “你好世界”从何而来?

    hello world 通常是任何编程语言的第一个示例 我一直想知道这句话是从哪里来的 又是在哪里第一次使用的 我曾经被告知这是有史以来在计算机屏幕上显示的第一句话 但我找不到任何对此的参考 所以我的问题是 练习在哪里使用 hello wo
  • 有没有办法为 Kotlin 顶级函数引用 Java 类?

    我想使用以下方式在顶级函数中加载资源Class getResourceAsStream 有什么方法可以获取顶级函数将被编译到的类的引用 以便我可以编写 例如 val myThing readFromStream MYCLASS getRes
  • 如何在 IntelliJ 插件中“注册”新的模块类型?

    我是 IntelliJ 插件开发的初学者 但我希望我的插件在 新项目 新模块 窗口中注册新的模块类型 我已经搜索了插件开发人员的文档 但找不到任何有用的东西 我还查看了 Kotlin 和 Scala 等现有插件 它们也添加了新的模块类型 但
  • 是否有 Java OCR 工具将文本图像转换为可编辑的文本文件?

    我正在开发一个项目 该项目需要拍摄文本 来自任何文本的硬拷贝 并将该文本转换为文本文件 然后我想使用该文本文件来做一些不同的事情 例如提供新闻文章的超链接或允许用户编辑文档 到目前为止我尝试过的工具是来自sourceforge net的Ja
  • 在选择之前和之后添加和删除字符

    我怎样才能获得角色before AND after选定的文本 然后删除它们 或者更确切地说 如果所选文本在字符内 请删除周围的字符 这样如果有任何额外的空格 字符仍将被删除 例如 双击文本时 它将选择文本 但不会选择前后的反引号 然后我想删
  • 调用 DriveApp getFolderById 或 getFileById 时 Google 附加脚本引发服务器错误

    我已经部署了一个电子表格绑定脚本作为附加组件 当它是容器绑定时它起作用了 但现在 作为附加组件 当我调用 DriveApp getFolderById 时 我收到服务器错误 function makeMap console log star
  • documentFragment.cloneNode(true) 不会克隆 jQuery 数据

    我有一个 documentFragment 其中有几个子节点 其中添加了一些 data 如下所示 myDocumentFragment document createDocumentFragment for myDocumentFragme
  • vuejs 从子组件更新父数据

    我开始玩 vuejs 2 0 我构建了一个简单的页面 其中包含一个组件 该页面有一个带有数据的 Vue 实例 在该页面上 我注册了该组件并将其添加到 html 中 该组件有一个input type text 我希望该值反映在父级 主 Vue
  • 相对于彼此定位多个嵌套 div

    我有一个外部 div 外部 div 内的 div 以及这些 div 内的 div 我想将最里面的 div 定位到它的父级 将中间级别的 div 定位到它的父级 即最外面的 div 对于 div 内的 div 我们可以使用父 div 的相对定
  • 我将如何编写 purrr::keep 的递归版本?

    假设我有一个嵌套列表 其中包含一堆不同级别的数据框 我想提取出数据框的扁平列表 我该如何写这个使用purrr功能 我应该看一下reduce 例如 给定数据 s lt list x 1 10 data data frame report LE
  • 重定向后 Codeigniter 会话销毁

    我正在会话中添加订单 ID 和购物车项目 如果我在会话中添加 2 个购物车商品 效果很好 如果我在会话中添加 3 个或更多购物车商品 重定向后所有数据丢失 控制器的名称是 checkout function pay order order
  • LINQ to SQL Server 2000:“必须声明变量‘@p0’”

    我创建了这个简单的 LINQ 查询 var result from invoice in invoiceTable where invoice Id 1 select invoice Document 它生成以下 SQL SELECT t0
  • 如何用C#关闭计算机

    从 C 程序关闭计算机的最佳方法是什么 我发现了一些有效的方法 我将在下面发布它们 但它们都不是非常优雅 我正在寻找更简单且原生 net 的东西 从 Windows XP 开始工作 在 win 2000 或更低版本中不可用 这是最快的方法
  • 将 Web 项目发布到 azure 失败:“IsolatedCSPack”任务意外失败

    我有想要发布并上传到 windows azure 的 Web 应用程序 我使用 Visual Studio 2008 我单击 发布 在 发布云服务 窗口中选择 仅创建服务包 然后单击 确定 发布失败 例外情况是 Error 26 The I
  • 如何使用 MessageHeader.CreateHeader() 方法向 WCF 消息头添加属性?

    我使用以下代码添加 WCF 自定义标头 MessageHeader header MessageHeader CreateHeader Key ns Value OperationContext Current OutgoingMessag