首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >如何通过MSMQ发送XDocument (使用WCF)?

如何通过MSMQ发送XDocument (使用WCF)?
EN

Stack Overflow用户
提问于 2010-07-16 13:20:35
回答 2查看 2.3K关注 0票数 2

我有一个作为XDocument的订单,我只是想将它粘贴在消息体中,并将其发送到MSMQ队列。我已经有效地序列化了order对象,现在我只想发送它。这个是可能的吗?

我在这里使用的是WCF,但我很乐意使用简单的老式msmq解决方案。我在这里得到一个错误,表明XDocument不能被序列化...显然不能这样做,但是如何将XDocument放入消息体中呢?我需要使用自己的序列化程序吗?

代码语言:javascript
运行
AI代码解释
复制
public void SendOrder(XDocument order)
{
    var address = new EndpointAddress(@"msmq.formatname:DIRECT=OS:myServer\private$\myQueue");

    var binding = new MsmqIntegrationBinding();
    binding.Security.Mode = MsmqIntegrationSecurityMode.None; 
    binding.ExactlyOnce = false;
    binding.Durable = false;

    var channelFactory = new ChannelFactory<IOrderSubmitter>(binding, address);
    var channel = channelFactory.CreateChannel();

    var message = new MsmqMessage<XDocument>(order);
    message.Label = "Really Big Order with lots of profit";
    message.BodyType = (int)System.Runtime.InteropServices.VarEnum.VT_ARRAY;

    using (var scope = new TransactionScope(TransactionScopeOption.Required))
    {
        channel.SubmitOrder(message);
        scope.Complete();
    }
}

[ServiceContractAttribute(Namespace = "http://my.namespace.com", Name = "Hello")]
public interface IOrderSubmitter
{
    [OperationContract(IsOneWay = true)]
    void SubmitOrder(MsmqMessage<XDocument> message);
}
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-07-22 17:27:53

我在Windows7机器上开发时也遇到了同样的问题。它将我的xml字符串放入另一个XML中。在server2003中,一切都运行良好。

我终于能够解决这个问题了。似乎有两种方法可以做到这一点。两者都涉及到将格式化程序设置为XmlMessageFormatter。您可以在MessageQueue上设置格式化程序,也可以在发送之前和查看/接收之后在邮件上设置它。

代码语言:javascript
运行
AI代码解释
复制
messageQueue.Formatter = new System.Messaging.XmlMessageFormatter(new Type[] { typeof(System.String) });
票数 1
EN

Stack Overflow用户

发布于 2010-07-16 13:27:29

XDocument是一种方便的XML数据包装器。无需序列化XDocument,只需使用XDocument.ToString()将其作为字符串发送即可

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3265212

复制
相关文章
如何在Visual Studio中调试.NET源码
In order to configure Visual Studio 2013 do the following in the Tools -> Options -> Debugging -> General menu:
卡尔曼和玻尔兹曼谁曼
2019/01/22
2.1K0
如何在Visual Studio中调试.NET源码
如何在 Visual Studio 2019 中连接中国版 Azure
做国内项目很可能用到中国版的 Azure,即世纪互联运营的 azure.cn。然而 Visual Studio 2019 默认连接的是国际版的 Azure,如何添加中国版订阅呢?
Edi Wang
2019/12/16
3.6K0
如何在 Visual Studio 2019 中连接中国版 Azure
Visual Studio 命令提示符
Visual Studio 命令提示和 SDK 命令提示会自动设置环境变量,使您能够轻松使用 .NET Framework 工具。 在 .NET Framework 4 版 和更高版本中,应使用 Visual Studio 命令提示,它可从“Visual Studio 工具”中获取。对于 .NET Framework 的较早版本,可以使用 Visual Studio 命令提示符或 SDK 命令提示。SDK 命令提示包含在 .NET Framework version 2.0 Software Develop
hbbliyong
2018/03/05
1.4K0
如何在 Debian 10 上安装 Visual Studio Code
Visual Studio Code 是一个由微软开发的开源的,跨平台的代码编辑器。它包含内建的调试支持,嵌入的 Git 版本控制,语法高亮,代码自动完成,集成终端,代码重构以及代码片段功能。 Visual Studio Code 还可以使用扩展插件。
雪梦科技
2020/05/09
7.1K1
如何在 Debian 10 上安装 Visual Studio Code
如何在 CentOS 8 上安装 Visual Studio Code
Visual Studio Code 是一个由微软开发的开源的,跨平台的代码编辑器。它包含内建的调试支持,嵌入的 Git 版本控制,语法高亮,代码自动完成,集成终端,代码重构以及代码片段功能。
雪梦科技
2020/05/11
6.7K3
如何在 CentOS 8 上安装 Visual Studio Code
如何在 Ubuntu 20.04 上安装 Visual Studio Code
Visual Studio Code 是一个由微软开发的强大的开源代码编辑器。它包含内建的调试支持,嵌入的 Git 版本控制,语法高亮,代码自动完成,集成终端,代码重构以及代码片段功能。
雪梦科技
2020/05/11
2.4K0
如何在 Ubuntu 20.04 上安装 Visual Studio Code
如何在 Ubuntu 20.04 上安装 Visual Studio Code
https://www.itcoder.tech/posts/how-to-install-visual-studio-code-on-ubuntu-20-04/
雪梦科技
2020/05/04
3.5K0
如何在 Ubuntu 20.04 上安装 Visual Studio Code
Linux嵌入式开发——shell命令
文章目录 Shell命令 目录信息查看——ls 目录切换——cd 当前路径显示——pwd 系统信息查看——uname 清理屏幕——clear 显示文件内容——cat 切换用户身份——sudo 切换用户——su 创建文件——touch 文件拷贝——cp 删除——rm 创建文件夹——mkdir 目录删除——rmdir 移动文件——mv 显示网络配置信息——ifconfig 重启——reboot 关机——poweroff 系统帮助——man 数据同步写入磁盘——sync 查找文件——find 查找内容——grep
小点点
2022/12/12
6.9K0
Visual Studio 2010 中JS注释制作
  Visual Studio 2010中的js注释已经很强大了,但怎么才能和调用c#的方法一样容易呢?怎样才能让每个参数都有注释说明呢?底下就是想要的答案。   先上图,如图所示: 其中红色的办法
磊哥
2018/05/08
2.6K0
Visual Studio 2010 中JS注释制作
在 Visual Studio 中配置 Eigen库
Eigen是一个开源的C++库,主要用来支持线性代数,矩阵和矢量运算,数值分析及其相关的算法。Eigen 目前(2022-04-17)最新的版本是3.4.0(发布于2021-08-18),除了C++标准库以外,不需要任何其他的依赖包。Eigen库的下载地址为:https://gitlab.com/libeigen/eigen/-/archive/3.4.0/eigen-3.4.0.zip
全栈程序员站长
2022/09/27
4.3K0
Visual Studio中配置sqlite3
把包含二进制文件的那个压缩包解压之后,打开Visual Studio Developer Command Prompt
灯珑LoGin
2022/10/31
1.4K0
Visual Studio中配置sqlite3
Visual Studio LightSwitch
LightSwitch是一个基于模板的自动化开发Silverlight和HTML5应用程序的工具,不同于一般的基于数据字典,配置生成的应用程序的工具,因为LightSwtich提供的所有模板都是可以扩展的,自定义开发的,包括页面布局,数据源,使用的控件。非常方便植入.net的代码。 LightSwitch是一个被裁剪后的VS产品,用来更容易地进行业务处理(Line of Business,LoB)应用程序的开发,有点类似Access。LightSwitch 提供最简单的方法创建面向云和桌面的商业应用程序。
张善友
2018/01/29
1.6K0
如何在 Bash shell 脚本中解析命令行选项
在 Bash 中解析选项的策略是循环遍历所有传递给 shell 脚本的参数,确定它们是否是一个选项,然后转向下一个参数。重复这个过程,直到没有选项为止。
用户8639654
2021/09/01
1.7K0
如何在 WordPress 中嵌入 iFrame
Iframe 是一种将网页嵌入到另一个页面的内容中的方法。这是通过使用 HTML 元素、外部网站的 URL 以及窗口在您的网站上的外观参数来实现的。
海拥
2022/12/11
2.4K0
如何在 WordPress 中嵌入 iFrame
【开发环境】安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Visual Studio Code )
进入 Visual Studio Code 下载页面 https://code.visualstudio.com/ ;
韩曙亮
2023/03/30
1.9K0
【开发环境】安装 Visual Studio Code 开发环境 ( 下载 Visual Studio Code 安装器 | Visual Studio Code )
如何在 Visual Studio 编译调试 Windows 版本的 Nginx 源码?
在我们的《C/C++ 网络编程实战训练营》第二课,我们给大家布置了两个作业,其中之一是为 Nginx 源码制作一个 Visual Studio 工程文件,可以在 Visual Studio 中调试 Windows 版本的 Nginx,这个作业的目的是:
范蠡
2023/01/04
2.1K0
如何在 Visual Studio 编译调试 Windows 版本的 Nginx 源码?
[Setting]Visual Studio中的ipch和*.sdf文件
用VS做开发的时候,VS会在项目文件夹下自动的生成一个ipch的文件夹和(项目名).sdf的文件,这两个文件都是奇大无比。这些文件是Visual Studio 2010用来保存预编译的头文件 和Intellisense 用的,删除这些文件对于工程的开发完全没有影响。
祥知道
2020/03/10
2.8K0
在 Visual Studio Code (VS Code) 中设置
在 Visual Studio Code (VS Code) 中设置代理服务器的详细教程如下:
用户614136809
2023/10/25
1.3K0
git命令中带有特殊符号如@
使用带用户密码clone的方式: git clone https://username:password@remote 当username和password中含有特殊符号会导致出错, 因为为http的请求,所以需要将特殊符号encode成url格式的 java使用: String c = java.net.URLEncoder.encode(".","utf-8"); System.out.println(c); 源文档 <http://blog.csdn.net/qq1142003960/article/
千往
2018/01/24
2.1K0
点击加载更多

相似问题

如何在visual studio代码中集成git bash

22

将Git Bash与Visual Studio集成

80

Visual Studio代码中git集成的困惑

16

Visual Studio代码、PowerShell和Git Bash

253

在窗口上设置Git Bash中的火花壳

35
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文